Mys_C_K的博客

吾自撷高山之月色,独随足落处往行。

CF 1034C Region Separation - dp

神仙题啊 题目大意:给你一颗树,点有点权。每轮你可以切断一些边,但要保证剩下的联通快权值和都相等。问你有多少操作方案。1e6。 题解:考虑给你一个k问你能不能切成k段。 你会发现方案是唯一的:不断的从小到大考虑子树,每次遇到恰好k就切掉。 但这么做没有前途。我们发现,假设所有点权值之和是S,那么只...

2018-09-27 15:28:20

阅读数:92

评论数:0

Codeforces #502 A~E

AB略。 C,结论是把排列弄成L段,使得n除以L上取整加上L最小。 #include<iostream> #include<cstring> #includ...

2018-08-09 15:43:20

阅读数:51

评论数: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)⋃{(...

2018-06-25 12:31:00

阅读数:46

评论数:0

Educational Codeforces Round 16 String Set Queries - AC自动机 - 分块

传送门 题目大意:每次向集合种加入一个串,删除一个串(已经存在的), 给定一个串,问集合中每一个串在询问串种出现次数之和,字符串总长<=3e5。强制在线。 题解:如果离线的话可以预先建出一个AC自动机,然后数据结构。 强制在线,一个做法是分块,考虑建立两个AC自动机,一...

2018-02-10 14:19:31

阅读数:72

评论数: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...

2018-02-04 20:02:44

阅读数:138

评论数:0

codeforces 631D Messenger - KMP算法

传送门 题解:模板题,分类讨论。 #include #include #include #define N 1000010 #define lint long long using namespace std; int nxt[N],pos[N];lint cs[N],ct[N]; cha...

2018-02-04 13:56:11

阅读数:107

评论数: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...

2018-02-04 13:55:08

阅读数:121

评论数:0

codeforces 536B Tavas and Malekas - Z-Box算法

传送门 题解:模板题 #include #include #include #include #define mod 1000000007 #define N 1000010 #define lint long long using namespace std; char s[N];int...

2018-02-04 13:53:24

阅读数:152

评论数:0

codeforces 126B Password - Z-Box算法

传送门 题解:Z-Box算法模板题 #include #include #include #include #define N 1000010 using namespace std; char s[N];int z[N],n; int main() { scanf("%...

2018-02-04 13:51:48

阅读数:113

评论数:0

codeforces 331 D3.Escaping on Beaveractor - 线段树 - 基环树 - 倍增

传送门 题目大意:平面上有有些有向线段,平行于轴,当走到有向线段的时候自己的方向就要变成其方向,自己速度1。给定这些有向线段,多组数据,每组给出初始位置和初始方向和时间,问是否会走出边界,如果不,输出最后在哪里,否则输出离开边界时候的坐标。数据都是1e5,时间1e15。 题解:题目本身很简单,...

2018-02-03 21:53:13

阅读数:137

评论数:0

codeforces 919 E. Congruence Equation - 数学

我真的是越来越菜了这个初二学生十几行秒掉的我写了几十行 传送门 题目大意:求有多少n满足1 p是一个质数,p 题解:一开始想到了bsgs,发现不可以。注意到n比较大的时候,系数的n会膜p,指数上的n会%(p-1)。因此n的循环节最大是p*(p-1)。好像没什么用。考虑类似bsgs的过程,设n=...

2018-02-01 19:28:37

阅读数:200

评论数:0

codeforces 917B MADMAX 拓扑排序 - 动态规划 - 博弈论

传送门 题目大意:给你一张有向无环图,边权是字母。 对于每一对(s,t),按照如下规则,求当第一个人在s第二个人在t的时候谁有必胜策略。规则是,两人轮流移动,每次移动的边权不能小于上一次移动的边权。不能移动的人输。n 题解:DAG,考虑dp。两个人博弈论,考虑令f[x][y][c]表示第一个人...

2018-01-30 20:40:06

阅读数:222

评论数: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...

2017-12-26 19:55:11

阅读数:257

评论数:0

Educational Codeforces Round 23 A-F

感觉这种比赛就是拼手速啊QwQ A.Treasure Hunt 题目大意:平面直角坐标系中给定起点和终点,每次可以从(a,b)走向(a+x,b+y),(a-x,b-y),(a+x,b-y),(a-x,b+y)这四个点。 问从起点能否到达终点。 要求O(1)做法。 题解:这个第一遍提交还W...

2017-06-16 11:32:16

阅读数:268

评论数:0

Codeforces Round#418 (Div.2) ABC

A.An abandoned sentiment from past CF一如既往的傻逼题。 题目大意:给定一个序列a挖去一些数随机打乱顺序叫做b。问能否把b中的元素插回去使得a不是一个升序序列? 题解:首先如果size(b)>1那么一定可以,显然。 否则b填回去扫一遍看一看即可 B. ...

2017-06-11 12:55:55

阅读数:208

评论数:0

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,...

2017-05-12 20:55:45

阅读数:223

评论数: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...

2017-05-05 11:02:39

阅读数:300

评论数: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 题解:这个题非常有意思的构造! 构造方法是这样的:...

2017-04-26 20:51:10

阅读数:245

评论数: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)=...

2017-04-25 14:58:07

阅读数:464

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭