随笔分类 -  CodeForces

摘要:Codeforces Round #779 D2. 388535 (Hard Version) (01字典树) 题目 题意大概就是给一个l, r, 然后选一个数x对l-r的排列pi每一项进行异或操作,得到数组a[], ai = pi ^ x。现在输入l, r和操作后的数组a[],让你求它们异或的数 阅读全文
posted @ 2022-04-02 11:25 A_sc 阅读(92) 评论(0) 推荐(0)
摘要:Codeforces 780 F2. Promising String (hard version) (树状数组) 题目 题目大意是一个字符串,每项为- 或者 +,如果-,+个数一样这个字符串是平衡的。你能进行操作:将两个相邻的-转变成+,如果一个字符串能通过操作变成平衡的被称为 “有希望平衡的” 阅读全文
posted @ 2022-04-01 16:34 A_sc 阅读(150) 评论(0) 推荐(2)
摘要:Codeforces 780 D. Maximum Product Strikes Back (模拟) 题目: 题目大意是给一个数组a[1...n] (-2 ⇐ a[i] ⇐ 2) ,问你从前面删除几个数,后面删除几个数,最后使得剩下数字的乘积最大。输出前后分别删除个数。注意:全部删除的空数组被认为 阅读全文
posted @ 2022-04-01 16:13 A_sc 阅读(117) 评论(0) 推荐(0)
摘要:E. Star MST Educational Codeforces Round 125 (Rated for Div. 2) E. Star MST 题目: 输入n, k。指n个点构成的完全无向图(完全图指任意两点间有一条边),加权边取值为1~k之间,如果与1点相连的边的权值和与MST的权值和相等 阅读全文
posted @ 2022-03-23 17:38 A_sc 阅读(165) 评论(0) 推荐(1)
摘要:2-SAT #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #include<cmath> #include<map> #include<queue> #include<vector> #includ 阅读全文
posted @ 2020-09-14 00:58 A_sc 阅读(141) 评论(0) 推荐(0)
摘要:先用Dijkstra计算出1到i的最短路d[i]。再dfs时如果 d[u] + w == d[v] 时就一直继续向下搜索。这些边都可以保留 #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #inclu 阅读全文
posted @ 2020-09-09 19:11 A_sc 阅读(127) 评论(0) 推荐(0)
摘要:让标签带偏了。。所有点和最小的点连边,算上m个特殊边跑MST就行了。 #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #include<cmath> #include<map> #include<qu 阅读全文
posted @ 2020-09-07 19:53 A_sc 阅读(117) 评论(0) 推荐(0)
摘要:这道题也是看博客研究了1天。 参考博客 题意: 有n个士兵,第i个士兵只能参与大小在 \(l_{i}\) 到 \(r_{i}\) 的集合的构建。同时有m对仇恨关系,求构建无仇恨关系的集合数量。 题解: 用num[i]表示 可以参与组成大小为 i 的集合的士兵个数 首先如果不考虑任何限制,那么每个大小 阅读全文
posted @ 2020-08-28 15:54 A_sc 阅读(228) 评论(1) 推荐(0)
摘要:** 注意sort时不要取模!!!!!** #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #include<cmath> #include<map> #include<queue> #include 阅读全文
posted @ 2020-08-24 14:40 A_sc 阅读(104) 评论(0) 推荐(0)
摘要:Codeforces Round #568 (Div. 2) D - Extra Element 补题地址 这道题题的突破口就在这个"去掉一个值", 这说明你除了去掉的点其他点排序后相邻距离d是一样的。所以我们直接考虑这个d是多少,然后看能不能去掉一个点达到要求。显然不能枚举d,但是由于只去掉1个点 阅读全文
posted @ 2020-08-21 17:35 A_sc 阅读(122) 评论(0) 推荐(0)
摘要:题目链接 题目: 给你两个数组a[], b[],对第一个数组你可以选择任意一个区间[l,r]进行从小到大排序。问能不能将a数组经过多次操作变成b数组。 题解: 首先,我们能发现一个数要向前移动,只能前面的数比它大时才可以向前移。所以要想把a变成b相当于用a中的数构造b,扫一遍b对每一位b[i],在a 阅读全文
posted @ 2020-08-14 10:27 A_sc 阅读(81) 评论(0) 推荐(0)
摘要:刚看到一个做法很棒,枚举十字中点然后向四周扩展“十字”,并计数,如果数量等于*总数就输出YES,否则输出NO. #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #include<cmath> #inc 阅读全文
posted @ 2020-08-12 08:59 A_sc 阅读(186) 评论(0) 推荐(0)
摘要:题目: 给出一个n m 的矩阵,每个位置的值是0或1。可以对矩阵执行操作:将所有四周有和自己相同值的点反转(0 1,1 0)。有多组询问,输入x,y,p,输出(x,y)点在矩阵经过p次操作后的值。 首先一个四周存在相同值的点一次操作后值反转。一个四周没有和自己相同值的点,它在一次操作后值不变,但是这 阅读全文
posted @ 2020-05-13 18:42 A_sc 阅读(196) 评论(0) 推荐(0)
摘要:题目: n m的黑白网格,给出每个格子的颜色以及下一步移动的方向。当给一个位置放一个机器人,它会按照每个位置的信号移动,可以放多个机器人,但要求相同时刻一个位置不能出现两个机器人。求最多可以放多少个机器人,机器人数量相同时最多有多少个机器人放在黑格子上。 参考题解。观察样例发现,这些控制指令可以使整 阅读全文
posted @ 2020-05-08 20:14 A_sc 阅读(232) 评论(0) 推荐(0)
摘要:```c++ #include #include #include #include #include #include #include #include #include #include using namespace std; #define rep(i, a, n) for(int i = a; i = a; -- i) #define make_pair mkp #define Max 阅读全文
posted @ 2020-05-07 23:35 A_sc 阅读(142) 评论(0) 推荐(0)
摘要:![](https://img2020.cnblogs.com/blog/1596795/202005/1596795-20200507105555860-931501591.png)![](https://img2020.cnblogs.com/blog/1596795/202005/1596795-20200507105607845-1859153692.png)```c++#include#... 阅读全文
posted @ 2020-05-07 10:56 A_sc 阅读(146) 评论(0) 推荐(0)
摘要:题目: 阅读全文
posted @ 2020-05-07 10:55 A_sc 阅读(378) 评论(0) 推荐(0)
摘要:题目: 一个细菌初始质量为1,每天可以选择分裂其中任意个,分裂后质量均分,每天晚上所有细菌质量+1.找一个方法使得用最少的天数分裂细菌,使最后总质量等于n。输出天数和每天分裂的细菌个数。 用变量temp表示细菌个数,用all表示目标质量,初始temp = 1,all = n 1. 仔细考虑发现,分裂 阅读全文
posted @ 2020-05-02 11:59 A_sc 阅读(219) 评论(0) 推荐(0)
摘要:题意: 把字符串s中的字符分给k个空字符串,要求每个空字符串都有字符,同时最小化k个字符串中字典序的最大值,输出分配后字典序最大的字符 题解: 分类讨论,如果s排序后,s[0]!=s[k 1]答案就是$s[k]$(样例3,5), 如果相等且k~n 1只有一种字符,就要把这种字符依此分给每个字符串,输 阅读全文
posted @ 2020-05-02 10:19 A_sc 阅读(284) 评论(0) 推荐(0)
摘要:题意: 一个完全联通的有向图,要经过每一条边一次,访问路径由经过的节点组成,节点可以经过多次。输出“字典序最小的”路径中l,r之间的节点值。 题解: 要相信这类题一定有什么规律,且规律无论n的大小都满足。所以要先从n较小的情况下总结规律。本题就是最小路径类似 (以n=4为例)"1 2 1 3 1 4 阅读全文
posted @ 2020-05-01 15:29 A_sc 阅读(173) 评论(0) 推荐(0)