随笔分类 - ACM-模拟练习赛
摘要:摸了一整场的鱼,签了个到,做了个FFT还忘记初始化赛后才发现 B.00:16:52 solved by hl 很显然前缀和搞搞就行了,但是卡O(N),要O(M) #include <map> #include <set> #include <ctime> #include <cmath> #incl
阅读全文
摘要:A. 2:40:11(-7) solved by zcz 通过旋转使得抓人的在左下角,逃得在右上角 结论是逃得一定在右上 或者 右下 左上被抓住,找到规律枚举一下即可 #include<iostream> #include<cstring> #include<cstdio> #include<alg
阅读全文
摘要:A.00:45:42(-1) solved by zcz 队友说抄个板子好了,我看了一下板子是扩展中国剩余定理 #include<iostream> #include<cstdio> #include<climits> #include<cstring> #include<map> #include
阅读全文
摘要:A. 00:40:35 solved by hl 很显然需要一种方法O(1)定位x,y上的数字,利用矩阵的规律可以找到 然后就是一个子矩阵和问题,小范围可以直接二维前缀和,大范围就是一个二位偏序问题, 将一个询问拆成4个询问,树状数组解决即可 #include <map> #include <set
阅读全文
摘要:一到网络赛,大家都是东亚之光 1001 00:23:46 solved by hl 签到 枚举一下位就行了 #include <map> #include <set> #include <ctime> #include <cmath> #include <queue> #include <stack
阅读全文
摘要:A.0:27:15 solved by hl 感人的数据范围,每次连上边之后dfs一下前者看能不能找到自己就行 #include <iostream> #include <string> #include <map> #include <vector> #include <cstdio> using
阅读全文
摘要:E. 0:19:15 solved by hl 按照题意模拟即可 #include <iostream> #include <cstdio> #include <cmath> #include <cstring> #include <cstdio> #include <queue> #include
阅读全文
摘要:F.1:27:58(-3) solved by hl 打表发现所有满足条件的t可以通过f(n) = 4 * f(n - 1) - f(n - 2)递推出来 用__int128或者JAVA大数实现 #include <map> #include <set> #include <ctime> #incl
阅读全文
摘要:C.1:33:41(-1) solved by zcz 推式子 找规律 #include<iostream> using namespace std; long long F(long long n,long long mod) { long long rec=1; for(long long i=
阅读全文
摘要:A.1:41:18 solved by hl 大致就是一个图上染色判断是否有矛盾。 按照样例来看,似乎存在孤立点就要输出NO #include <map> #include <set> #include <ctime> #include <cmath> #include <queue> #inclu
阅读全文
摘要:A. 3:20:22(-1) solved by hl WA点:三年竞赛一场空,不开LL见祖宗 由题意化为 要求左右两回文串都是奇数长度且相互覆盖对方的回文串中点。 用Manacher预处理之后 对于每个回文串x产生的后效性,在经过中点i的时候加入树状数组,经过终点i + Mp[i] + 1的移出树
阅读全文
摘要:赛后总结: 先把所有的可做题放上线程,debug在线程上有题的时候永远下机找 宁愿机下多线程debug不要机下多线程空想题 A. 0:05:54 solved by hl 温暖的签到 #include <map> #include <set> #include <ctime> #include <c
阅读全文
摘要:赛后总结: 1.补字符串 2.前期交题看三遍 3.认真听取zcz兄弟的意见 最后时间该冲的时候就要冲 A.分情况讨论一下 K > 2先手必胜 N可能是0 solved by gbs 00:17:41(-2) 没有考虑0 WA2发 #include <iostream> #include<stack>
阅读全文
摘要:A. 00:09:13 solved by hl 打个表发现规律是3个odd,5个even,7个odd,9个even....... 很显然是个等差数列,二分判断项数的奇偶即可 不过似乎大家都有更加简单的方法 #include <map> #include <set> #include <ctime>
阅读全文
摘要:A.输出M * 2 #include <map> #include <set> #include <ctime> #include <cmath> #include <queue> #include <stack> #include <vector> #include <string> #inclu
阅读全文
摘要:A.只有1个的时候后手胜,其他先手胜 没证明,手推了前几个先手胜的看榜上过穿了就交了 #include <map> #include <set> #include <ctime> #include <cmath> #include <queue> #include <stack> #include
阅读全文
摘要:1. HDU - 5914 意识到最贪心的保留最多饼干的方案是 1 2 3 5 8 13 21 ..... 一个斐波那契数列,任选两个筷子都成不了三角形 所以给的N每大于其中的一个数就意味着我们能多保留一个筷子,其余的都不要 #include <map> #include <set> #includ
阅读全文
摘要:北理的18级比我校17级还猛,这上哪儿说理去 A.发现存在长度相等的棒子答案最小值就是0,直接特判 时间复杂度从n ^ 2优化到40 * 40 (一开始没想到 写着分段二分WA7发) #include <map> #include <set> #include <ctime> #include <c
阅读全文
摘要:A.有向图缩点成DAG图,找入度为0的数量 很显然这个N <=100的数据范围和题目给的一条线上的限制可以一百倍的简化这个题,但是架不住我脑子不好使,上去就只想缩点。 一个有趣的问题是如果左右两兄弟距离相同,传给靠左边兄弟的做法才可以AC,似乎是数据有问题或者我的算法有问题? #include <m
阅读全文
摘要:A.队友写的 #include <iostream> using namespace std; typedef long long LL; int tran_int(string s1) { if (s1 == "Monday") return 0; if (s1 == "Tuesday") ret
阅读全文