05 2024 档案

摘要:考虑将修车师傅放在一边,顾客放在一边。 对于第 \(i\) 辆车,让第 \(j\) 个修车师傅来修,放在了倒数第 \(l\) 个,那么他产生的贡献即为 \(t_{i,j}\times l\)。 我们可以将每个修车师傅拆成 \(n\) 个点,第 \(l\) 个点表示修车师傅的倒数第 \(l\) 个位置 阅读全文
posted @ 2024-05-19 11:51 长安一片月_22 阅读(9) 评论(0) 推荐(0) 编辑
摘要:每个点拆成入点和出点。 发现每个点、每条边都只能经过一次,所以所有边的容量都是 \(1\)。 #include<bits/stdc++.h> #define ll long long using namespace std; const int N=405,M=1e5+5; int n,m,s,t, 阅读全文
posted @ 2024-05-19 11:00 长安一片月_22 阅读(8) 评论(0) 推荐(0) 编辑
摘要:发现题目中描述的配对条件可以理解为:\(pc_i-pc_j=1\) 且 \(a_i\bmod a_j=0\),其中 \(pc_i\) 表示 \(a_i\) 的质因数个数。 自然想到以 \(pc\) 奇偶性建立二分图,可以配对的点间连一条边。 先不考虑费用,三种边为: \((s,i,b_i)\),其中 阅读全文
posted @ 2024-05-19 10:22 长安一片月_22 阅读(6) 评论(0) 推荐(0) 编辑
摘要:发现可以做如下建图: 对于前两组输入,从 \(s\) 向所有代表学生的点连一条边,容量为其学习文科的喜悦值;从所有代表学生的点向 \(t\) 连一条边,容量为其学习理科的最大值。 对于后四组输入,建两个点 \(x,y\),从 \(s\) 向 \(x\),从 \(y\) 向 \(t\) 分别连容量为相 阅读全文
posted @ 2024-05-09 11:13 长安一片月_22 阅读(10) 评论(0) 推荐(0) 编辑
摘要:假如将所有激光武器放在一边,所有机器人放在一边,激光武器向它可以伤害的机器人连边,再加超级源/汇点,这就是一个网络流问题。 考虑激光武器向机器人连的边容量无限,而机器人向超级汇点连的边容量为机器人的装甲值,而超级源点连向激光武器的边则是用时 \(\times\) 激光武器伤害。 发现假如答案为 \( 阅读全文
posted @ 2024-05-05 14:44 长安一片月_22 阅读(13) 评论(0) 推荐(0) 编辑
摘要:发现实际上就是在求有多少只蜥蜴能逃出来。 发现可以将柱子拆成入点和出点两部分,自己的出点向别人的入点连边,自己的入点向自己的出点连边。最后再加一个超级源点 \(S\),连接所有有蜥蜴的柱子入点;再加一个超级汇点 \(T\),连接所有能够跳出地图的柱子。 我们猛然发现:这个问题不就是求最大流吗? 考虑 阅读全文
posted @ 2024-05-05 10:59 长安一片月_22 阅读(8) 评论(0) 推荐(0) 编辑
摘要:俗话说的好,正难则反,既然不好想每一个子弹能打碎多少个木板,不如想每个木板被那枚子弹打碎。 然后就是显然的整体二分。由于可能木板不会被击碎,那些木板的分数会累加到最后一个子弹上,因此我们可以加一枚背锅弹,承担多余的分数。 时间复杂度 \(O((n+m)\log^2 m)\)。 #include<bi 阅读全文
posted @ 2024-05-04 10:51 长安一片月_22 阅读(5) 评论(0) 推荐(0) 编辑
摘要:发现实际上就是二维静态区间最大值,可以用整体二分维护。 时间复杂度 \(O((q+n^2)\log \max(a_{i,j})\log n^2)\)。 #include<bits/stdc++.h> #define ll long long using namespace std; const in 阅读全文
posted @ 2024-05-04 09:38 长安一片月_22 阅读(13) 评论(0) 推荐(0) 编辑
摘要:今天考的好一些。(244分,rk 2) T1 [CF1279C] Stack of Presents 显而易见,每次排序的时候肯定是把先取出来的排在前面,所以只需要维护一个指针 \(z\),表示目前最靠里的一个礼物,假如现在这个要取的礼物比它靠外,贡献为 1,否则它之前所有礼物都在它的外侧,计算出贡 阅读全文
posted @ 2024-05-03 20:02 长安一片月_22 阅读(17) 评论(0) 推荐(0) 编辑
该文被密码保护。
posted @ 2024-05-02 20:54 长安一片月_22 阅读(11) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示