Codefoces
Tgotp
蒟蒻OIer
blog:tgotp.science
展开
-
记一场(伪)CF (Educational Codeforces Round 40 (Rated for Div. 2) )
实际上是div2场… 考了半个多小时才想起来有这个比赛… 然后就看了看…(英语太菜了,十几二十分钟才能看懂一题) 只写了 D E F G(其中只有D E是考中写完的…) D: 题目大意 : 求有多少不直接相交的点对,并且这个点对连上以后不能改变s- > t的最短路. 题解: 两边SPFA完以后,直接暴力枚举点对即可. c++代码如下: #include<bits/s...原创 2018-03-22 19:56:20 · 194 阅读 · 0 评论 -
D. Fuzzy Search
fftfftfft下标一定要从0开始,不然特麻烦 观察题目容易发现,可以在O(n)O(n)O(n)时间内判断对于位置iii是否能在[i-k,i+k]区间存在AGCTAGCT A G C T 然后得到一个O(n∗m)O(n∗m)O(n*m)的算法,考虑优化 那么分开考虑AGCTAGCT A G C T,令s[i]s[i]s[i]表示在第i个位置匹配到了多少字母。 则s[i]=∑mj=1k[i...原创 2018-04-16 12:35:25 · 1442 阅读 · 0 评论 -
E. Alternating Tree
尽管 卡了我一早上,我一点都不气…. 这数据是真的强. 观察题目发现实际上偶数链是没有任何用的. 然后这种树上路径一般考虑用点分治。 那么记录从一个点跑出去的奇/偶链数量与和, 然后令所有 奇链 偶链 互相链接,然后就得到了从该点延出去的所有边, 但是要注意一开始要把这个点排除最后单独算. 注意边界问题..炸了ll调了一早上 c++代码如下: #include<bits...原创 2018-04-12 11:41:17 · 401 阅读 · 0 评论 -
Codeforces Round #484 (Div. 2) E. Billiard
首先容易想到暴力枚举,,, 代码: #include<bits/stdc++.h> #define PI acos(-1) #define rep(i,x,y) for(register int i = x; i <= y; ++ i) #define repd(i,x,y) for(register int i = x; i >= y; -- i) #define...原创 2018-05-18 14:54:06 · 319 阅读 · 0 评论 -
#484 F. The Meeting Place Cannot Be Changed
异常暴力的算法. 就是枚举每个点当作答案,然后判断当前点是否可行。。。 不过要按照每个点的度数先来排序。 就这样… c++代码如下: #include<bits/stdc++.h> #define rep(i,x,y) for(register int i = x ; i <= y; ++ i) #define repd(i,x,y) for(register int ...原创 2018-05-19 10:28:46 · 287 阅读 · 0 评论 -
G. Team Players
直接上容斥, 然后暴力判断。 搞定… c++ 代码如下: #include<bits/stdc++.h> #define lowbit(x) (x & -x) #define rep(i,x,y) for(register int i = x ;i <= y; ++ i) #define repd(i,x,y) for(register int i = x ; i...原创 2018-05-22 21:35:42 · 297 阅读 · 0 评论 -
F. Isomorphic Strings
仔细读题后发现就是每个字母对应的f都要相同。 那么就把每个字母单独提出来处理即可。 然后找到第一个该字符所匹配的字母,然后看两串是否相同 hash即可 c++代码如下: #include<bits/stdc++.h> #define lowbit(x) (x & -x) #define rep(i,x,y) for(register int i = x ;i &l...原创 2018-05-22 21:40:41 · 377 阅读 · 0 评论