
codeforces
Mys_C_K
人生有许多道:曾经踏足的是道,即将踏往的也是道,那什么才是道呢?唯有脚下走的才是道。一切精神或者物质都归于虚无,然后从混沌中衍生出三万道。在悲喜间涉足一条无数前人经历过,且将有无数后人奔赴的道,无论是否已经或者将要到达彼岸,然后便不再回头或是左顾右盼,即使有些道繁盛至极,夜灯如昼,无数人一浪又一浪的涌去,造就了世人皆知的辉煌;即使有些道草木凋敝,荒草丛生,只等勇敢的开拓者斩开荆棘,创造一片天地;这些都无所关,无所在意,彼岸何如、来日何方甚至过往旧事都化作一缕云烟,飘渺碧霄,我自撷高山之月色,独随足落处往行。
展开
-
Codeforces Round #412 (Div.2) ABC
A.Is it rated?解:跑两遍for,第一遍如果有a!=b那么输出rated并退出。第二遍如果有a[i]否则输出maybe话说没读懂题……B.T-Shirt Hunt解:也没读懂。暴力即可,先看次数=0可不可以,然后x+=100看x和x-50行不行(x-100,x-150等就不用看了因为已经看过了),不行就继续x+=100。。。随便看许多次即可,发现答案原创 2017-05-12 20:55:45 · 426 阅读 · 0 评论 -
Codeforces #502 A~E
AB略。 C,结论是把排列弄成L段,使得n除以L上取整加上L最小。#include<iostream>#include<cstring>#include<cstdio>#include<algorithm>using namespace std;int main(){ int n,原创 2018-08-09 15:43:20 · 288 阅读 · 0 评论 -
codeforces 804 D. Expected diameter of a tree - 分块(并不显式分块) - dp
题目大意:给你一张森林,每次询问两颗树TA,TB(A≠B)TA,TB(A≠B)T_A,T_B(A\neq B),求: ∑x∈TA∑y∈TBD(T=(V(TA)⋃V(TB),E(TA)⋃E(TB)⋃{(x,y)}))∑x∈TA∑y∈TBD(T=(V(TA)⋃V(TB),E(TA)⋃E(TB)⋃{(x,y)}))\sum_{x\in T_A}\sum_{y\in T_B}D(T=(V(T_A)\bi...原创 2018-06-25 12:31:00 · 304 阅读 · 0 评论 -
Educational Codeforces Round 16 String Set Queries - AC自动机 - 分块
传送门 题目大意:每次向集合种加入一个串,删除一个串(已经存在的), 给定一个串,问集合中每一个串在询问串种出现次数之和,字符串总长<=3e5。强制在线。 题解:如果离线的话可以预先建出一个AC自动机,然后数据结构。 强制在线,一个做法是分块,考虑建立两个AC自动机,一个大一个小,每次向小的AC自动机里面加入一个串然后暴力重构,如果小的AC自动机大小超过s那么就把小的暴力合并到大的上面...原创 2018-02-10 14:19:31 · 279 阅读 · 0 评论 -
codeforces 100792B Banana Brain's Bracelet Z-Box算法 - 线段树
传送门 题目大意:给一个循环串A,和一个字符串C,从A中截下一段B,并将B首尾相接成一个循环串使得C是B的一段。求使|B|最大。 题解:首先把A翻倍拼接得到S,前面放C,求一遍Z-Box,然后把S和C翻过来再求一遍,分别得到z1和z2。然后有两种情况,要么C是S的子串,输出|A|,要么C=C1+C2,然后S中出现了C2,隔了一段出现了C1,即C2….C1,需要满足总长度=|C|-z1[i]。这原创 2018-02-04 20:02:44 · 405 阅读 · 0 评论 -
codeforces 631D Messenger - KMP算法
传送门 题解:模板题,分类讨论。#include#include#include#define N 1000010#define lint long longusing namespace std;int nxt[N],pos[N];lint cs[N],ct[N];char s[N],t[N];inline int get_nxt(char *s,lint *c,int原创 2018-02-04 13:56:11 · 395 阅读 · 0 评论 -
codeforces 149E Martian Strings - AC自动机
传送门 题解:模板题#include#include#include#include#include#include#define M 110#define N 100010#define LEN 1010#define toi(c) (c-'A'+1)#define INF (INT_MAX/10-10)#define SIG 26using namespace原创 2018-02-04 13:55:08 · 652 阅读 · 0 评论 -
codeforces 536B Tavas and Malekas - Z-Box算法
传送门 题解:模板题#include#include#include#include#define mod 1000000007#define N 1000010#define lint long longusing namespace std;char s[N];int z[N],n,x[N],cnt[N];inline bool can(int x,int y){原创 2018-02-04 13:53:24 · 418 阅读 · 0 评论 -
codeforces 126B Password - Z-Box算法
传送门 题解:Z-Box算法模板题#include#include#include#include#define N 1000010using namespace std;char s[N];int z[N],n;int main(){ scanf("%s",s+1);n=strlen(s+1); if(n3) return !printf("Just a原创 2018-02-04 13:51:48 · 355 阅读 · 0 评论 -
codeforces 331 D3.Escaping on Beaveractor - 线段树 - 基环树 - 倍增
传送门 题目大意:平面上有有些有向线段,平行于轴,当走到有向线段的时候自己的方向就要变成其方向,自己速度1。给定这些有向线段,多组数据,每组给出初始位置和初始方向和时间,问是否会走出边界,如果不,输出最后在哪里,否则输出离开边界时候的坐标。数据都是1e5,时间1e15。 题解:题目本身很简单,把所有东西离线下来,用线段树处理出从询问点或者某个有向线段的箭头处开始走会走到哪一个点方向发生转折,以原创 2018-02-03 21:53:13 · 508 阅读 · 0 评论 -
codeforces 919 E. Congruence Equation - 数学
我真的是越来越菜了这个初二学生十几行秒掉的我写了几十行 传送门 题目大意:求有多少n满足1p是一个质数,p题解:一开始想到了bsgs,发现不可以。注意到n比较大的时候,系数的n会膜p,指数上的n会%(p-1)。因此n的循环节最大是p*(p-1)。好像没什么用。考虑类似bsgs的过程,设n=t(p-1)+r, 那么a^n=a^r,这时候需要有na^r=b也就是t(p-1)=ba^(-r)-r原创 2018-02-01 19:28:37 · 505 阅读 · 0 评论 -
codeforces 917B MADMAX 拓扑排序 - 动态规划 - 博弈论
传送门 题目大意:给你一张有向无环图,边权是字母。 对于每一对(s,t),按照如下规则,求当第一个人在s第二个人在t的时候谁有必胜策略。规则是,两人轮流移动,每次移动的边权不能小于上一次移动的边权。不能移动的人输。n题解:DAG,考虑dp。两个人博弈论,考虑令f[x][y][c]表示第一个人在x第二个人在y上一次边权是c,当前是第一个人要走,能否赢。g同理,表示第二个人。按照拓扑序转移即可。原创 2018-01-30 20:40:06 · 576 阅读 · 0 评论 -
Codeforces 893F Subtree Minimum Query(Hard) 主席树
题目大意:给定一棵有根树,点x有点权a[x],多组询问,每次询问以x为根的子树中的所有满足dep[y]-dep[xi]<=ki的y中,最小的a[y]。n<=1e5, q<=1e6。强制在线。 题解:按照dfs序重新编号,这个题等价于求编号在[L[x],R[x]],深度在[dep[x],dep[x]+k]中的点权最小值。 因此就是一个二维数点(权最值)。但是随意一个矩形的最值类询问还要树套树什么的原创 2017-12-26 19:55:11 · 593 阅读 · 0 评论 -
Codeforces Round#418 (Div.2) ABC
A.An abandoned sentiment from pastCF一如既往的傻逼题。题目大意:给定一个序列a挖去一些数随机打乱顺序叫做b。问能否把b中的元素插回去使得a不是一个升序序列?题解:首先如果size(b)>1那么一定可以,显然。否则b填回去扫一遍看一看即可B. An express train to reveries题目大意:一个排列,修改其中的原创 2017-06-11 12:55:55 · 434 阅读 · 0 评论 -
Educational Codeforces Round 23 A-F
感觉这种比赛就是拼手速啊QwQA.Treasure Hunt题目大意:平面直角坐标系中给定起点和终点,每次可以从(a,b)走向(a+x,b+y),(a-x,b-y),(a+x,b-y),(a-x,b+y)这四个点。问从起点能否到达终点。要求O(1)做法。题解:这个第一遍提交还WA了QwQ。首先如果这个是在一维直线上的,那么只要判断|x1-x2|是不是x的倍数即可。在二维原创 2017-06-16 11:32:16 · 586 阅读 · 0 评论 -
Codeforces Round #410 (Div.2) D.Mike and distrubition-构造
题目链接:右转进入题目题目大意:给定正数列{an},{bn},要求选择n/2+1(除法下取整)个数p1,p2,...,使得2(ap1+ap2+...)>a1+a2+...+an,2(bp1+bp2+...)>b1+b2+...+bn题解:这个题非常有意思的构造!构造方法是这样的:不妨假设n是个奇数,然后将(Ai,Bi)看组一个struct,按照A降序排序。先选择排序后的(A1',B原创 2017-04-26 20:51:10 · 454 阅读 · 0 评论 -
Codeforces Round #410 (Div.2) C.Mike and gcd problem-数学
题目链接:请自行搜索题目大意:给定n个数,每次可以将A_i和A_(i+1)这两个数字修改成A_i - A_(i+1)和A_i + A_(i+1)这两个数字。请问至少要修改多少次才能使得GCD(A1,A2,A3,...,An)>1。特别的,我们认为GCD(0,x)=x,GCD(-a,b)=GCD(a,b)。(即正负不影响)题解:首先如果所有数的gcd>1那么一次都不用修改,直接输出0原创 2017-04-25 14:58:07 · 656 阅读 · 0 评论 -
Codeforces Round #411 (Div.2) ABCD
A.大意:给定一个区间[L,R],求一个d>1,使得满足L垃圾题被hack了……【逃显然如果L!=R,那么2不会比其它答案差(想想看为什么),否则L=R,任意输出L的一个因数即可(其实就是直接输出L)。这个题如果加强为输出最小的解,那么就在L=R时输出L的最小非1因数即可。B.题目大意:用a,b,c三种字符构造一个长为n的串,使得没有一个长度为3的回文字串,且用最少的c。1这个原创 2017-05-05 11:02:39 · 488 阅读 · 0 评论 -
CF 1034C Region Separation - dp
神仙题啊题目大意:给你一颗树,点有点权。每轮你可以切断一些边,但要保证剩下的联通快权值和都相等。问你有多少操作方案。1e6。题解:考虑给你一个k问你能不能切成k段。你会发现方案是唯一的:不断的从小到大考虑子树,每次遇到恰好k就切掉。但这么做没有前途。我们发现,假设所有点权值之和是S,那么只有那些子树权值在模Sk\frac SkkS意义下为0才有用。如果这样的子树有不少于k个那么就可行(因...原创 2018-09-27 15:28:20 · 732 阅读 · 0 评论