- 博客(73)
- 资源 (1)
- 收藏
- 关注
原创 小米 OJ 编程比赛 03 月常规赛 小爱密码 2.0
Description令{F}\{F\}{F}为斐波那契数列,定义prime fibonacci为一个数列{P}满足P1=2P_1=2P1=2P2=3P_2=3P2=3∀i,j∈N+,gcd(Pi,Pj)=1\forall i,j\in N^{+},gcd(P_i,P_j)=1∀i,j∈N+,gcd(Pi,Pj)=1...
2019-03-31 18:53:33 323
原创 loj #6145 「2017 山东三轮集训 Day7」Easy 动态点分治+线段树
Description给定一棵n个节点的树和m次形如(l,r,x)询问,意义为:编号为l至r的点中到编号为x的点的距离的最小值n,m≤105n,m\le10^5n,m≤105Solution考虑动态点分治,查询的时候在点分树上爬然后线段树查就可以了这样做是对的是因为我们只会把答案算大而不会算小,那么最小值就一定会被恰好统计到loj挂了全是system error,裙里面好像也没人在...
2019-03-31 18:45:35 274
原创 AtCoder Grand Contest 019F Yes or No 组合数学
Description有n+m道题目,n道题目的答案为Y,m道为N现在你要回答这n+m道题目,每次会从没答过的题目中抽一道回答,若回答正确就加一分。问最优策略下得分的期望Solutiontourist的题目真是劲啊我们可以用一对整数对(x,y)表示一个剩余x个1问题,剩余y个2问题的局面。显然每一步的最优策略就是猜剩得多的那个,这样等价于我们在每个点有概率往两个方向走一步,且只有一种...
2019-03-29 15:14:51 227
原创 jzoj6096 森林 LCT+树的直径
Description幻想世界里有一片森林,森林里自然有许多许多树… 题目描述我们定义对一棵树做一次变换的含义为:当以 1 号节点为根时,交换两个互相不为祖先的点的子树;一棵树的权值为对它进行至多一次变换能得到的最大直径长度;初始时你只有一个节点 1,你需要执行 n-1 个操作,第 i 次操作会给出一个整数 x,表示新加入第 i+1 号点,并与第 x 号点连一条边。每次操作后输出当前...
2019-03-29 11:59:50 689
原创 51nod1514 美妙的序列 分治NTT
Description某个1~n的排列如果满足:在1~n-1 这些位置后面将序列断开,使得总可以从右边找到一个数,并且该数不大于左边的所有数,则称该序列为“美妙的”。给出n,求长度为n的“美妙的序列”的数量Mod 998244353T,n≤105T,n\le10^5T,n≤105Solution考虑设f[n]表示长度为n的美妙序列,我们用总的方案减去不合法的方案就是f[n]=n!−...
2019-03-28 17:03:43 289
原创 Atcoder Grand Contest 019C Fountain Walk dp
Description有一个1e8*1e8的网格图,保证每个格子是长度为100的正方形,在格点间行走时必须沿着水平或竖直方向,且只能在格点处拐弯现在有n个直径为10的圆在不同格点上,保证同一行同一列最多只有一个圆。经过这些圆的时候必须绕着走问从(x1,y1)走到(x2,y2)的最短路n≤2⋅105n\le2\cdot10^5n≤2⋅105Solution很显然我们只会朝着两个方向走...
2019-03-28 16:31:09 124
原创 小米oj118 Grizzly and GCD 数论
Description给定n,a,b,求这个东西{∑m=0n[(nm)%2]}∑i=1n∑j=1i−1gcd(ai−bi,aj−bj)\left\{\sum_{m=0}^n\left[{\binom{n}{m}} \%2\right]\right\}\sum_{i=1}^n\sum_{j=1}^{i-1}\gcd\left(a^i-b^i,a^j-b^j\right){m=0∑n[(mn...
2019-03-28 14:40:48 179
原创 AtCoder Grand Contest 018D Tree and Hamilton Path 树的重心 贪心 乱搞
Description有一棵n个节点带边权的树,建一个完全图G,G中两点的边权为树上两点的最短路,在G中找一条权值之和最大的哈密顿回路,求这个权值n≤105n\le10^5n≤105Solution实际上就是要找一个排列p[],使得∑dis(pi,pi−1)\sum dis(p_i,p_{i-1})∑dis(pi,pi−1)最小贪心地想,我们保证每次经过树根一定最优,因为这样两两...
2019-03-28 11:09:06 154
原创 AtCoder Grand Contest 017F Zigzag 状压dp
Description有一个边长为n的正三角形,定义一条路径为从(1,1)出发,每次向左下或向右下走一格走n-1次到底问有多少种方案使得可以选出m条不相同的路径,对于任意的i,保证第i条不在第i-1条的左侧同时给出m个限制形如(x,y,z),表示第x条路径的第y步一定要往z这个方向走n,m≤20n,m\le20n,m≤20Solution注意到起点是一样的,那么我们可以用一个n-1...
2019-03-28 10:03:25 166
原创 AtCoder Grand Contest 017D Game on Tree 树的删边游戏
Description给定一棵有根树,两个人轮流操作,每次可以切除树上的一条边把子树扔掉。问谁能必胜n≤105n\le10^5n≤105Solution这个树上切边博弈好像是结论啊考虑这样一个形状的树的sg假设我们知道了sg[y],我们连出一条x-y的边等价于给y子树中的所有状态增加了一个sg为0的后继状态考虑到sg求的是mex,那么就有sg[x]=sg[y]+1了于是一个x...
2019-03-27 22:12:45 223
原创 AtCoder Grand Contest 016F Games on DAG 状压dp
Description给定一张n个点m条有向边的dag,保证每条边x<y现在A和B分别放两个棋子在1和2节点上,然后轮流移动棋子,不能动者输问2m个子图中先手必胜的子图的方案数n≤15n\le15n≤15Solution这个范围一看就是状压考虑先手必胜的含义,那么就是1和2节点的sg不相等的方案数直接做不太好弄,我们可以补集转化算sg相等的方案数设f[S]表示选了S这个...
2019-03-27 21:13:52 132
原创 AtCoder Grand Contest 016E Poor Turkeys bitset+乱搞
Description有n个火鸡和m个人,m个人按次序吃鸡(雾。第i个人会按照一下策略吃鸡如果x[i]和y[i]都活着,就等概率选一个吃掉如果有一个活着,就吃掉活着的否则就啥也不做问能选出多少对鸡,它们同时活下来的概率不为0Solution一开始想着要建图啥的。。考虑倒着做,我们记S[t,i]表示做到第t个人,第i只鸡要活下来至少还需要有哪些其它鸡活下来然后我们大力讨论一...
2019-03-27 19:46:12 142
原创 jzoj6086 动态半平面交 可持久化线段树+set
Description给定一棵n个节点带点权的树,要求资瓷q次询问格式为(x,d),即求出x子树内距离x不超过d的点的点权的lcm,对998244353取模n≤105,  ai≤107n\le10^5,\; a_i\le10^7n≤105,ai≤107Solution之前做过序列上的离线做法,上树就有点懵了很常见的套路吧,没想到有点可惜先不管那个深度...
2019-03-27 16:30:28 205
原创 Moorhsum Round #1 获取名额 乱搞
Description给定长为n的序列a[],m次询问(l,r,x)求这样一个柿子1−∏i=lr(1−aix)1-\prod\limits_{i=l}^{r}{\left(1-a_ix\right)}1−i=l∏r(1−aix)n≤6×105ai,x≤109n\le6\times10^5\\a_i,x\le10^9n≤6×105ai,x≤109Solution正解太强了%%%%...
2019-03-26 21:32:58 276
原创 bzoj5084 hashit 广义SAM+树链的并
Description你有一个字符串S,一开始为空串,要求支持两种操作在S后面加入字母C删除S最后一个字母问每次操作后S有多少个两两不同的连续子串Solution似乎暴力也能过的样子一个显然的做法就是建后缀平衡树,但是好像有点难写啊考虑离线,给出的串刚好就是一棵Trie,我们按照Trie建广义SAM之后模拟就可以了具体说就是每次都在处理Trie上的一条链,答案就是这些点在pa...
2019-03-25 21:41:18 271
原创 AtCoder Regular Contest 070F HonestOrUnkind 交互题
Description这是一道交互题有A个诚实的人和B个不诚实的人,每次可以操作(x,y)表示向x询问y是否是诚实人。若x诚实则如实回答,否则将会以一定策略回答问能否在2n次询问内求出每个人是否诚实1≤A,B≤20001\le A,B\le20001≤A,B≤2000Solution首先若A<=B则肯定不行,因为可以从B里面挑A个伪装成A若A>B,那么我们的策略就是先...
2019-03-25 19:54:55 328
原创 Burnside引理与polya定理学习小记
置换置换可以看成是一个集合到另一个集合的映射,比如:1,2,3,4,5,62,1,5,3,4,6就是一个[1,6]到[1,6]的映射。根据一些小常识,我们知道一个置换可以写成若干不相交的环根据一些小定义,我们记经过置换G后保持不变的元素为置换G的不动点又根据一些小套路,一个等价关系通常为一个置换的集合F。那么两个元素A和B等价当且仅当A能通过F中的某个置换变成B,满足等价关系的元...
2019-03-25 17:31:02 288
原创 bzoj3282 Tree LCT
Description给定N个点以及每个点的权值,要你处理接下来的M个操作。操作有4种。操作从0到3编号。点从1到N编号。0:后接两个整数(x,y),代表询问从x到y的路径上的点的权值的xor和。保证x到y是联通的。1:后接两个整数(x,y),代表连接x到y,若x到Y已经联通则无需连接。2:后接两个整数(x,y),代表删除边(x,y),不保证边(x,y)存在。3:后接两个整数(x,...
2019-03-25 15:32:43 94
原创 bzoj4358 permu 回滚莫队+并查集
Description给定一个n排列a[],m次询问a[L]~a[R]中最长连续值域n,m≤5×105n,m\le 5\times 10^5n,m≤5×105Solution一个比较naive的响法就是我们离线然后莫队+线段树做,这样是O(nnlogn)O(n\sqrt n\log n)O(nnlogn)的然后本地测了一下5e5直接线段树是10s,zkw线段树大概是3s考虑只有...
2019-03-24 21:31:11 344
原创 CF1140F Extending Set of Points 线段树分治+并查集
Description若一个点集为S,记E(S)={(x2,y2)∣(x1,y1)∈S,(x1,y2)∈S,(x2,y1)∈S,(x2,y2)∉S}E(S)=\left\{(x_2,y_2)|\right (x_1,y_1)\in S,(x1,y2)\in S,(x2,y1)\in S,(x2,y2)\notin S\}E(S)={(x2,y2)∣(x1,y1)∈S,(x1,y2)∈S...
2019-03-24 20:28:20 289
原创 bzoj3064 Tyvj 1518 CPU监控 线段树历史最值
Description维护一个长度为n的序列,资瓷:区间加区间覆盖询问[L,R]内最大值询问[L,R]内历史最大值Solution前三个都好说对于第四个,我们重新定义一个操作v+(a,b)=max(v+a,b),这样操作1就是v+(x,-INF),操作2就是v+(-INF,x)考虑两个标记的合并,那么就是v+(a,b)+(c,d)=max(max(v+a,b)+c,d)=...
2019-03-23 16:25:36 127
原创 Educational Codeforces Round 62 (Rated for Div. 2) 部分题解
BG两天连打搞得现在神志不清意识模糊,不过总算上2k了昨晚被电脑自动更新gank了只得借别人的机子,键盘真难用.jpg手速太重要了。。还有开题的顺序啥的,难度不一定递增.jpgAsb题,枚举最后一位然后加一加就可以了B没看到在操作之前的限制WA了一发,一开始以为答案只可能是0或者1最终肯定可以变成全部一样+某一边剩下一个反向的,显然只有最左的<和最右的>有用,我们...
2019-03-23 11:13:07 503
原创 bzoj4487 [Jsoi2015]染色问题 容斥原理+组合数学
Description有n*m的网格图和c种颜色,问有多少种涂色方法满足:每一列至少有一个格子被涂色每一行至少有一个格子被涂色每一种颜色至少被用了一次每一个格子要么被染色(1种),要么不被染色n,m,c≤400n,m,c\le 400n,m,c≤400Solution很显然我们有∑i=0n∑j=0m∑k=0c(−1)n−i+m−j+c−k(ni)(mj)(ck)(k+1)i...
2019-03-22 21:39:13 516 1
原创 cf1139E Maximize Mex 二分图匹配
Solution我们离线然后倒着插入边,那么答案就是不降的了考虑对p和c建二分图,一个人就连一条边,那么跑匈牙利就可以了Code#include <stdio.h>#include <string.h>#include <algorithm>#define rep(i,st,ed) for (int i=st;i<=ed;++i)#de...
2019-03-22 20:21:18 404
原创 jzoj6078 [GDOI2019模拟2019.3.22]魔法阵 树状数组套线段树
Description给定序列A[]和B[],记C[i]=max(C[i-1],A[i]),要求资瓷两个操作:0 x y,改A[x]为y1 x y,改B[x]为y每次操作输出∏i=1nmin(Bi,Ci)\prod\limits_{i=1}^{n}{min(B_i,C_i)}i=1∏nmin(Bi,Ci)n≤105n\le 10^5n≤105,保证y≥Axy\ge A_xy≥...
2019-03-22 15:34:43 158
原创 51nod1407 与与与与 容斥+DP
Description有n个整数,问从他们中取出若干个数字相与之后结果是0的有多少组。答案比较大,输出对于 1,000,000,007 (1e9+7)取模后的结果。n≤106ai≤106n\le10^6\\a_i\le10^6n≤106ai≤106Solution很容易想到设f[i]表示至少i个位置不为0的答案,我们容斥一下就能得到恰好i个位置不为0的答案,最终结果就是恰好0个位置...
2019-03-21 23:17:32 366
原创 bzoj 3198 [Sdoi2013]spring hash+容斥原理
Description有n条河流,每条河流有6个特征。对于给定的k,求多少对河流有恰好k个特征相等n≤105n\le10^5n≤105Solution知道了套路就驾轻就熟了。。我们只需要求出至少k个特征的答案,那么26枚举这些特征然后用hash判一下,最后套一个容斥就可以了嗯,似乎非常简单,至少看起来是这样的但是这里的hash似乎需要一些高超技巧,我们简单地当成6位BASE进制膜...
2019-03-21 21:28:48 110
原创 bzoj2694 Lcm 莫比乌斯反演
Description求∑i=1n∑j=1m∣μ(gcd(i,j))∣⋅lcm(i,j)\sum_{i=1}^n\sum_{j=1}^m{|\mu(\gcd(i,j))|\cdot lcm(i,j)}i=1∑nj=1∑m∣μ(gcd(i,j))∣⋅lcm(i,j)n≤4∗106n\le 4*10^6n≤4∗106Solution套路题,我们认为n≤mn\le mn≤m化一下柿子...
2019-03-21 17:09:28 150
原创 bzoj5338 [TJOI2018]xor 可持久化trie+树链剖分
Description现在有一颗以1为根节点的由n个节点组成的树,树上每个节点上都有一个权值vi。现在有Q 次操作,操作如下:1 x y 查询节点x的子树中与y异或结果的最大值2 x y z 查询路径x到y上点与z异或结果最大值Solution无聊题,第一问的话dfs序建可持久化trie就行了,第二问可以树上建可持久化trie也可以树链剖分,1e5随便写嘛Code...
2019-03-21 16:40:14 147
原创 bzoj4355 Play with sequence 线段树区间最值操作
Description维护一个长度为N的序列a,现在有三种操作:1)给出参数U,V,C,将a[U],a[U+1],…,a[V-1],a[V]都赋值为C。2)给出参数U,V,C,对于区间[U,V]里的每个数i,将a[i]赋值为max(a[i]+C,0)。3)给出参数U,V,输出a[U],a[U+1],…,a[V-1],a[V]里值为0的数字个数。第一行包含两个正整数N,M(1<=N...
2019-03-21 15:56:11 135
原创 bzoj2839 集合计数 容斥
Description一个有N个元素的集合有2N个不同子集(包含空集),现在要在这2N个集合中取出若干集合(至少一个),使得它们的交集的元素个数为K,求取法的方案数,答案模1000000007。(是质数喔~)Solution这个容斥就很简单了考虑设g[k]表示至少k个相同的答案,f[k]表示恰好k个相同的答案显然有gk=∑i=kn(ik)fkg_k=\sum\limits_{i=k...
2019-03-21 11:46:49 146
原创 bzoj3622 已经没有什么好害怕的了 容斥+dp
DescriptionSolution想不到。。首先肯定要排序,不排序是不可能的。记r[i]表示a[i]最多能匹配多少个b设f[i,j]表示a的前i个匹配了j个,转移就有f[i,j]=f[i-1,j]+f[i-1,j-1]*(r[i]-j+1)然后这样是会算重的,直接输出就挂了。我们需要一个小容斥来去重记g[i]表示匹配了恰好i个的答案,那么g[i]=f[n][i]⋅(n−i)!...
2019-03-21 10:24:50 145
原创 bzoj4596 [Shoi2016]黑暗前的幻想乡 矩阵树定理+容斥
Description四年一度的幻想乡大选开始了,最近幻想乡最大的问题是很多来历不明的妖怪涌入了幻想乡,扰乱了幻想乡昔日的秩序。但是幻想乡的建制派妖怪(人类)博丽灵梦和八云紫等人整日高谈所有妖怪平等,幻想乡多元化等等,对于幻想乡目前面临的种种大问题却给不出合理的解决方案。风见幽香是幻想乡里少有的意识到了问题严重性的大妖怪。她这次勇敢地站了出来参加幻想乡大选,提出包括在幻想乡边境建墙(并让人类...
2019-03-21 09:07:59 134
原创 AtCoder Grand Contest 016 B Colorful Hats 乱搞
Description有n只猫,每只猫有一个颜色。每只猫都会看一看除它以外有多少种颜色,记这个序列为a[]现在给出n和a[],问是否存在一个颜色序列满足给出的限制Solution技不如人甘拜下风.jpg很容易想到全部一样要咋做。全部一样的话要么颜色全部一样,要么每种颜色至少两个,这个判一下就可以了 假设一共有k种颜色的帽子。 一个独一无二的颜色会说k-1其余说k。 如果最...
2019-03-20 21:33:45 110
原创 AtCoder Grand Contest 015 E Mr.Aoki Incubator dp+树状数组
Description给出若干个数轴上的点,每个点有起始位置x和速度v一开始可以给若干点染色,染色点与未染色点相遇会传染颜色,问多少种染色方案使得最后所有点被染色n≤105∀i∈[1,n],  ∣xi∣,∣vi∣≤109n\le 10^5\\\forall i\in[1,n],\; |x_i|,|v_i|\le10^9n≤105∀i∈[1,n],∣xi∣,∣v...
2019-03-20 19:44:50 120
原创 AtCoder Grand Contest 015 D A or...or B Problem 乱搞
Description给定一个区间[A,B],问从区间内任意取出一些数字,它们或出的不同结果有多少种A,B≤260A,B\le2^{60}A,B≤260Solution考虑转成二进制来做。A和B相同的最高几位都是没用的,扔掉记F是A和B从高到低第一位不同的二进制位,S是B从高到低第二位为1的二进制位我们可以把区间分成两份,也就是[A,2F−1][A,2^F-1][A,2F−1]和[...
2019-03-20 08:06:55 135
原创 FJWC2019 原样输出 SAM+拓扑排序
Descriptionnealchen 是一只 copycat。它会把输入按行读入,原封不动地复制到输出中去。但是在一次更新以后,它的程序出了一些问题。它没法输出换行符了。并且,读入的时候,总会莫名其妙地随机漏掉开头和结尾的若干个字符,甚至整行都会漏掉。比如 orznight 可能会变成 rzni ,orz,h 或者空串。现在你找到一份输入文件丢给 nealchen,你想知道它的输...
2019-03-19 21:29:09 224
原创 FJWC2019 全连 dp+树状数组
DescriptionE.Space 喜欢打音游。但是他技术不好,总是拿不到全连(Full Combo)。现在他面前有一份乐谱,乐谱的其中一段有 n个连续的单键音符。相邻两个音符的到来时间均相等,我们可以认为第 i 个音符会在第 i 个时刻到来。点击一个音符,E.Space 需要一段准备时间来进行移动手指之类的操作。由于音符的位置和周围情况不同,点击每个音符的准备时间也不同。在一个音...
2019-03-19 19:42:18 380
原创 FJWC2019 不同的缩写 二分图匹配+trie
Description你在写一款 Galgame 的剧情(的代码)。在这个游戏中一共有 n 个角色。你需要编写一些关于这些角色的对话内容。然而,在写这些对话内容之前,都要写一段关于角色信息的代码,就像这样:Character(“Alex”, color = “#FFFC3A”)你觉得这样好麻烦。你决定把它简化一下。你打算用角色名字的一个非空子序列(可以不连续)来作为它的简称。当然,不同...
2019-03-19 19:14:56 297
原创 AtCoder Grand Contest 015 C Nuske vs Phantom Thnook 二位前缀和
Description给定一张n*m的网格图,每个格子可以是蓝色或者白色已知任意两个蓝色格子之间最多只有一条简单路径,Q次询问(x1,y1,x2,y2)这个矩形内部有多少个蓝色格子的连通块n,m≤103Q≤105n,m\le 10^3\\ Q\le10^5n,m≤103Q≤105Solution一开始没看到加粗的那句话。。最大的困难在于读题这句话告诉我们,把蓝色格子看成点的话原图中...
2019-03-18 21:58:54 107
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人