当前位置: 首页 > news >正文

Nov 7

滑铁卢式的惨败。

T1 P10205 [JOI 2024 Final] 室温 / Room Temperature

场上并没能正确做出来。

当时同样是 %t 处理了每个 a,然后就想着取一下左右端点,答案是中间就行了。

这个想法大抵上是正确的,但也只是大抵上正确。

我们可能会有情况如下。

如果将最左边的去一件衣服(+t),让他成为新的右端点,下一个点成为新的左端点,无法保证这个情况比之前说的做法劣。

所以我们也要考虑上就是了。

排个序,枚举左右相邻点为左右端点算就行。

点击查看代码
#include <bits/stdc++.h>
using namespace std;
const int MN=1e6+116;
int a[MN], n, t, ans;
void Read(){cin>>n>>t;for(int i=1; i<=n; ++i) cin>>a[i];for(int i=1; i<=n; ++i) a[i]%=t;return;
}
void Solve(){Read(); sort(a+1,a+n+1);ans=(a[n]-a[1]+1)/2;for(int i=1; i<=n; ++i){ans=min(ans,(a[i]+t-a[i+1]+1)/2);}cout<<ans<<'\n';return;
}
int main(){ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);Solve();return 0;
}

T2 【MX-X7-T3】[LSOT-3] 寄存器

我并没有做出来,因为我并没有找出来正确的删除逻辑。

一个我的错误想法,这个问题就是以任意黑色节点为根跑出来一个尽可能小的,包含所有黑色的联通快,之后再将里边白色的联通块删除。

这个明显在小数据或者树成链问题是不大的,但是考虑以下的情况。

树分三层,根是黑色,三个儿子是白色,每个儿子都有一个儿子,儿子的儿子是黑色。

这种情况我们按照之前的思路是需要四次的,然而存在一个三次的操作方法。

我们先电整张图,之后断掉儿子与儿子的儿子间的边,再电一次剩下的图,最后电一下根节点。

于是想分层一样的,我们就成功得出了一种优于之前思路的,按照分层进行的手段。

那么显然的,我们只需要找出来这棵树最多能被分层多少图就行了。

我们把不同的颜色之间连的边的边权设为 1, 把相同颜色之间连的边边权设为 0, 之后正常跑树的直径,这个样子直径的每一个单位长度就代表着一次分层。

我们从这个直径的重点开始就行了,答案是 (len+1)/2.

代码↓

点击查看代码
#include <bits/stdc++.h>
using namespace std;
const int MN=3e6+316;
struct Node{int nxt, to;
}node[MN];
int head[MN], tottt;
void insert(int u, int v){node[++tottt].to=v;node[tottt].nxt=head[u];head[u]=tottt; return;
}
int n, a[MN], cnt1=0;
void Read(){cin>>n;for(int i=1; i<=n; ++i){cin>>a[i];cnt1+=a[i];}for(int i=1; i<n; ++i){int u, v;cin>>u>>v;insert(u,v);insert(v,u);}
}
int stt, maxn=0;
void dfs(int u, int father, int depth){if(a[u]!=a[father]) depth++;if(a[u]==1&&depth>maxn){maxn=depth; stt=u;}for(int i=head[u];i;i=node[i].nxt){int v=node[i].to;if(v==father) continue;dfs(v,u,depth);}
}
void Solve(){Read();if(cnt1==0){cout<<0<<'\n';return;}dfs(1,0,0); maxn=0;dfs(stt,0,0);//cout<<maxn<<'\n';cout<<(maxn+1)/2<<'\n';return;
}
int main(){ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);Solve();return 0;
}
http://www.zskr.cn/news/42909.html

相关文章:

  • 动态规划 - 背包困难
  • cdq分治 学习哔叽
  • 2025 年安环管家服务最新推荐排行榜:结合协会测评权威数据,揭晓专业靠谱服务机构环保设备咨询/医废危废管理安环管家服务推荐
  • 2025 年 11 月鞋子设计开发与培训权威推荐榜:鞋子打版中心、版型设计、技术培训创业班及设计培训学校综合解析
  • 2025 年 11 月鞋样设计开发培训权威推荐榜:鞋样设计/3D开版/出格培训/打版教学机构实力解析与口碑之选
  • pg_auto_failover 环境变量导致的show命令错误
  • GNU Radio (二) 2FSK 信号 发送
  • 升鲜宝生鲜配送供应链管理系统--- 《多语言商品查询优化方案(Redis + 翻译表 + 模糊匹配)》
  • 【能源行业案例】借助TeeChart图表库,将地质数据转化为清晰的见解
  • 2025年双出风中央空调品牌权威推荐榜单:中央空调选购/省电中央空调/6赫兹中央空调源头厂家精选
  • 2025年磷酸氢二钾定制厂家权威推荐榜单:磷酸氢二钠/磷酸二氢钠/磷酸源头厂家精选
  • 2025年发电机厂家推荐排行榜,发电机组,柴油发电机组,康明斯发电机,玉柴发电机,高压发电机,大功率发电机公司精选
  • 抖音 独立 IP 解决方案:独享静态住宅 IP + 环境隔离 + 粘性会话 - Smart
  • MySQL——表的管理
  • 【传奇开心果系列】基于Flet框架实现的分析题型的掌握程度不同题型得分饼图样式示例自定义模板特色和完成原理深度解析
  • 【MySQL】SQL调优-如何分析SQL性能 - 指南
  • asp.net网站编译后出现“发现不明确的匹配”的错误
  • Docker 部署 Oracle Linux 实操全流程
  • Redis Key 命名规范文档(含图表与命名规则)
  • 联想瑞天500无法禁用安全启动的解决办法
  • AI可能的发展
  • 【2025年】撕碎机厂家信息:华东固废处理五强榜单
  • 【2025年膨润土厂家信息:华东高纯钠基五强榜单】
  • LLMOps+DeepSeek:大模型赋能一体化运维
  • 2025年200元左右美白精华产品推荐:基于成分与肤感的权威对比榜
  • LRU缓存科普与实现(Kotlin 与 Swift) - 实践
  • 十六、Linux网络基础理论 - OSI模型、TCP/IP协议与IP地址详解 - 教程
  • 飞牛OS Root用户SSH公钥登录完整教程
  • 红黑树简
  • ⸢ 柒-Ⅲ⸥⤳ 可信纵深防御建设方案:数据使用可信端安全可信 - 详解