自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

beginend

只要在路上,就没有到不了的远方

  • 博客(1140)
  • 收藏
  • 关注

原创 Codeforces 429E Points and Segments 欧拉回路

题意给出nnn条线段[li,ri][li,ri][l_i,r_i],现在要把每条线段染成红色或蓝色,要求对于每个点xxx,设有rxrxr_x条线段满足覆盖点x且被染成红色,bxbxb_x条线段被染成蓝色,要求满足|rx−bx|≤1|rx−bx|≤1|r_x-b_x|\le1。输出方案。 n≤105n≤105n\le10^5分析对于被覆盖偶数次的点,覆盖他的红色线段数和蓝色线段数必...

2018-04-18 21:43:08 334

原创 Codeforces 613D Kingdom and its Cities 虚树+树形dp

题意给出一棵树,每次询问会给出几个关键点,要求选最少的非关键点使得把选的点去掉后关键点之间两两不能到达。 n≤100000n≤100000n\le100000分析先把虚树建出来,然后树形dp一下就好了。 具体来说就是设f[x,0]表示x的子树中的关键点两两不可达且没有关键点可以到达x外面,f[x,1]则表示有至多一个关键点可以到达x外面。转移的话讨论一下就好了。代码...

2018-04-18 20:43:53 286

原创 luogu 4233 射命丸文的笔记 多项式求逆

题意给出n,求对于任意的1≤i≤n1≤i≤n1\le i\le n,求在所有i个点且有哈密顿回路的竞赛图中,哈密顿回路的期望数量是多少。答案模998244353 n≤105n≤105n\le10^5分析所有竞赛图的哈密顿回路数量很好求,考虑每一条哈密顿路径的贡献,那么答案就是(n−1)!∗2n(n−1)2−n(n−1)!∗2n(n−1)2−n(n-1)!*2^{\frac{n(n...

2018-04-18 08:13:17 368

原创 bzoj 2992: Pku3986 Math teacher's homework 数位dp

题意给出两个整数K,N和一个整数序列M1,M2…Mn 求满足X1 Xor X2 Xor X3…Xor Xn=k且0<=Xi<=Mi(i=1…n)的解的个数 1≤n≤50,0≤k,m1,m2…mn≤231−11≤n≤50,0≤k,m1,m2…mn≤231−11\le n\le50,0\le k,m_1,m_2…m_n\le2^{31}-1分析我们按从高到底位进行处理。 ...

2018-04-17 21:07:59 420

原创 LibreOJ #2495.「AHOI / HNOI2018」转盘 线段树

题意 n,m≤100000n,m≤100000n,m\le100000分析首先有个结论,就是最有答案一定可以在某个时刻由某一个点出发,然后一步不停地走完。 我们设Ti+n=TiTi+n=TiT_{i+n}=T_i,那么不难发现答案就是mini=1n(maxj≥0(Ti+j+n−j−1))mini=1n(maxj≥0(Ti+j+n−j−1))\min_{i=1}^n(\max_{j\...

2018-04-17 20:13:13 398

原创 LibreOJ #2509.「HNOI2018」排列 贪心+堆

题意 n<=500000分析不难分析到其实就是有一棵树,然后每次要选一个节点。在选某个节点时必须先选其父节点,第i个选的节点的系数为i,问最大的权值和。 先这么想,对于一个最权值小的节点,当我们选了其父亲后,必然会马上选它。那么我们就可以把它和它父亲并在一起。 那合并后的新权值是什么呢?设w表示其权值和,s表示其元素个数,那么新权值就是w/s。 为什么可以这么定权值呢...

2018-04-16 20:35:58 553

原创 LibreOJ #2508.「HNOI2018」游戏 乱搞

题意 n<=1000000分析在考场上打了nlogn炸的只剩50分。 正解还是比较巧妙的。 先把中间没有间隔的位置缩成一个点。若x到x+1的钥匙在x或x前面,则x+1必然不能到达x,反之则x必然不能到达x+1。 对于第一种情况,我们从x+1到x连一条边,反之则x到x+1连一条边。我们可以按照拓扑序来进行处理,对于每个点,不断地暴力往左边或右边跳。这样做复杂度看似是O(...

2018-04-16 17:19:27 268

原创 bzoj 5100: [POI2018]Plan metra 构造

题意有一棵n个点的无根树,每条边有一个正整数权值,表示长度,定义两点距离为在树上的最短路径的长度。 已知2到n-1每个点在树上与1和n的距离,请根据这些信息还原出这棵树。 2<=n<=500000分析先把1到n路径上的节点找出来。 这里分两种情况,一种是1到n有连边。这种情况特判一下就好。 另一种是1到n没有连边,那么就找出其路径上的点,然后对于其他每个点,很容...

2018-04-16 13:28:47 333

原创 HNOI2018翻水记

day0又一次来到了长沙南站。 毕竟不是自己省选所以感觉比较轻松,晚上爽快战斗一下就睡觉了。day1看完题后发现好像三题都不是很可做,于是就选择先去刚看起来最清真的t1。 搞来搞去还是只会30。看了看t2,猜了波结论,发现好像是对的,于是我会40分。再去看t3,觉得可以搜没一条多余边的状态,再想想发现只要每条边提一个点出来搜就好了。看下数据范围,发现居然有80分。什么时候暴力分...

2018-04-15 18:50:49 780

原创 bzoj 5102: [POI2018]Prawnicy 贪心+堆

题意定义一个区间(l,r)的长度为r-l,空区间的长度为0。 给定数轴上n个区间,请选择其中恰好k个区间,使得交集的长度最大。 n<=1000000分析为什么同为一个log的算法跑出来的差别就这么大呢? 看完题就想到了一个线段树做法,打完后发现被卡常了,然后就果断改成了堆。 具体来讲就是枚举左端点,那么最优的右端点显然是把所有左端点不大于该点的区间加入,然后取第k大的...

2018-04-15 17:25:40 447

原创 Codeforces 704D Captain America 上下界最大流

题意平面上有n个点,现在要把每个点染成红色或蓝色。把一个点染成蓝色需要b的代价,染成红色需要r的代价。同时有m个限制,每个限制形如某一行或某一列中,红点-蓝点数量的绝对值不能超过d。问最少需要多少代价。 n,m<=100000分析不难想到,我们可以把每个点先染成代价较大的颜色,然后考虑把尽量多的点改变成代价较小的颜色。 那么我们可以把每一行建一个点,每一列建一个点,点(x...

2018-04-11 16:59:19 317

原创 uoj #181. 【UR #12】密码锁 搜索

题意给出一张nnn个点的完全图,现在要给这个完全图的每一条边随机定向成一个有向图。对于一条边 (i,j)(i<j)(i,j)(i<j)(i,j)(iiii到jjj的概率是numi,j/10000numi,j/10000num_{i,j}/10000,numi,jnumi,jnum_{i,j} 指这条边旁边的数字,否则就是jjj到iii在随机定向后,设这张有向图的强连通分量数目为xx...

2018-04-11 08:06:13 381 1

原创 hdu 5307 He is Flying FFT

题意给出一个长度为n的非负整数序列a,设s表示a的前缀和,对于所有的0≤i≤sn0≤i≤sn0\le i\le s_n,求所有和为i的子区间的长度和。 n≤105,sn≤5∗104n≤105,sn≤5∗104n\le10^5,s_n\le5*10^4分析看到这种不管怎么暴力搞都要O(n2)O(n2)O(n^2)的题目就应该想到FFT了。 这个构造还是比较巧妙的,不难发现答案就是...

2018-04-10 21:40:51 256

原创 Codeforces 150E Freezing with Style 点分治+二分答案+单调队列

题意给出一棵n个节点的树,边有边权,长度均为1。问长度在[L,R]之间的所有路径中,中位数最大是多少。 n<=100000分析一开始比较自然的想法是二分答案,然后把不小于mid的边权看做1,其余看做0,然后看是否存在一条路径满足边权和大于0。 显然可以点分治来做。在分治的时候维护最大值可以用带log的数据结构,这样的话复杂度就是O(nlog3n)O(nlog3n)O(nl...

2018-04-10 16:48:21 510

原创 bzoj 2986: Non-Squarefree Numbers 容斥原理

题意一个正整数K被称为squarefree,如果它没有一个D^2(D>1)这样的约数。 找出第N个不是squarefree的数。1<=N<=10^10分析显然可以二分答案,然后就要求不大于一个数的平方因子数。 只要用容斥搞一搞就好了。 具体来讲,答案就是∑i=2n−μ(i)⌊ni2⌋∑i=2n−μ(i)⌊ni2⌋\sum_{i=2}^n-\mu(i)\lfl...

2018-04-09 21:09:52 292

原创 Codeforces 922F Divisibility 数学+乱搞

题意设S为一个正整数集合,定义f(S)f(S)f(S)为有多少个数对(a,b)(a,b)(a,b)满足a∈S,b∈S,a<b,a|ba∈S,b∈S,a<b,a|ba\in S,b\in S,af(S)=kf(S)=kf(S)=k。 n≤3∗105,k≤109n≤3∗105,k≤109n\le3*10^5,k\le10^9分析首先若k>∑ni=1(⌊ni⌋−1)k...

2018-04-09 19:51:37 401

原创 bzoj 5251: [2018多省省队联测]劈配 网络流

题意太长了不想写。分析考虑建图,源点往每个选手连流量为1的边,每个导师往汇点连流量为战队人数的边,其余边先不连。 现在按编号从小到大考虑每个选手,把代表该选手的志愿的边从小到大逐个加入,每加入一个志愿就判断是否存在增广路,若存在则退出即可。 时间复杂度O(n4)O(n4)O(n^4) 对于第二问,还是类似的做法。对于每一个选手,枚举一个排名,在第一问的残余网络上把该排名之后的...

2018-04-09 15:04:38 276

原创 bzoj 5249: [2018多省省队联测]IIIDX 线段树

题意这一天,Konano接到了一个任务,他需要给正在制作中的游戏《IIIDX》安排曲目的解锁顺序。游戏内共有n首曲目,每首曲目都会有一个难度d,游戏内第i首曲目会在玩家Pass第trunc(i/k)首曲目后解锁(x为下取整符号)若trunc(i/k)=0,则说明这首曲目无需解锁。举个例子:当k=2时,第1首曲目是无需解锁的(trunc(1/2)=0),第7首曲目需要玩家Pass第trunc(7...

2018-04-09 07:25:03 340

原创 bzoj 5255: [Fjwc2018]全排列 dp

题意定义两个长为n的排列A与B相似:若?i,满足C(A, Ai) = C(B, Bi)。其中C(P, x)为满足Pj < x(1 ≤ j ≤ n)的j的数目。对于两个常委n的排列P1,P2,定义函数F(P1,P2)等于满足P1[l … r] 相似于P2[l … r](1 ≤ l ≤r ≤ n)并且P1[l … r]包含不超过E个逆序对的数对(l,r)的数目。现在请你求出:对P1,P2分别...

2018-04-08 19:23:02 467

原创 LibreOJ #2473. 「九省联考 2018」秘密袭击 树形依赖背包

题意给出一棵树,每个节点有一个权值。问所有连通块中第k大元素的和模64123。 设最权值为WWW,n≤1666,W≤1666n≤1666,W≤1666n\le1666,W\le1666分析正解什么的当然是不会啦,那我们考虑如何暴力。 只要枚举每个点,然后以这个点为根做一次树形依赖背包就好了。 做完之后发现并不能跑过去。 考虑优化,当不小于点x的节点数小于k时,就可以直接退出...

2018-04-08 16:48:49 325

原创 Codeforces 464E The Classic Problem 最短路+可持久化线段树+hash

题意有一个n个点m条边的无向图,每条边形如(u,v,w),表示u到v有一条长为2w2w2^w的边,问两点间的最短路。 n,m,w≤105,n,m,w≤105,n,m,w\le10^5,分析直接上dij,考虑用可持久化线段树来维护到每一个点的最短路的01串。 如果要比较两个串的大小时,就对线段树每个节点维护一个hash值,然后找到从高位到低位的第一个不同位即可。 当要加入一个1...

2018-04-08 15:15:12 620

原创 bzoj 3727: PA2014 Final Zadanie 树形dp

题意吉丽YY了一道神题,题面是这样的: “一棵n个点的树,每条边长度为1,第i个结点居住着a[i]个人。假设在i结点举行会议,所有人都从原住址沿着最短路径来到i结点,行走的总路程为b[i]。输出所有b[i]。” 吉丽已经造好了数据,但熊孩子把输入文件中所有a[i]给删掉了。你能帮他恢复吗? 2<=n<=300000分析挺有趣的一道题。 先把1设为根,设size[...

2018-04-08 10:53:05 342

原创 bzoj 3716: [PA2014]Muzeum 最小割/网络流+贪心+计算几何

题意吉丽的漫展有n件手办和m名警卫。建立平面直角坐标系,每个手办和警卫都可以看做一个点。警卫们的目光都朝着y轴负方向,且都有相同大小的视角。警卫可以看见自己视角内(包括边界上的点)的所有手办,不用考虑视线的遮挡。 你打算抢劫吉丽的漫展,但不可被警卫发现。为了实施这次抢劫计划,你可以事先贿赂某些警卫,让他们闭上眼睛。只要某件手办不在任何睁着眼睛的警卫的视野内,你就可以偷走它。你知道每件手办的价...

2018-04-08 08:35:08 444

原创 bzoj 5248: [2018多省省队联测]一双木棋 博弈论+状压dp

题意菲菲和牛牛在一块n行m列的棋盘上下棋,菲菲执黑棋先手,牛牛执白棋后手。棋局开始时,棋盘上没有任何棋子,两人轮流在格子上落子,直到填满棋盘时结束。落子的规则是:一个格子可以落子当且仅当这个格子内没有棋子且这个格子的左侧及上方的所有格子内都有棋子。棋盘的每个格子上,都写有两个非负整数,从上到下第i行中从左到右第j列的格子上的两个整数记作Aij、Bij。在游戏结束后,菲菲和牛牛会分别计算自己的得...

2018-04-07 21:42:58 443

原创 Codeforces 906D Power Tower 拓展欧拉定理

题意定义一个序列w[1..n]的价值为 给出一个长度为n的序列w,每次询问一个区间[l,r]的价值模m。 n≤200000,1≤m≤109n≤200000,1≤m≤109n\le200000,1\le m\le10^9分析首先注意到,若序列中某个数为1,那么从这一位开始后面的元素全部是没用的。那么我们可以先把这部分去掉,这样序列中的全部元素都大于1。 定义函数solve(l,r,...

2018-04-07 20:59:46 387

原创 Codeforces 959F Mahmoud and Ehab and yet another xor task 线性基

题意给出一个长度为n的数组A和q个询问,每次询问给出两个数l和x,问有多少种方案从前l个元素中取若干个出来使得其异或和恰好为x。取模。 n,q≤105,Ai<220n,q≤105,Ai<220n,q\le10^5,A_i2l−cnt2l−cnt2^{l-cnt}。因为除了线性基以外的元素可以任意选,然后再通过线性基中的元素将异或和补成x即可。代码#include&...

2018-04-07 09:14:25 629

原创 Codeforces 961F k-substrings 回文树+并查集

题意给出一个字符串S,对于所有的i≤⌈n2⌉i≤⌈n2⌉i\le\lceil\frac{n}{2}\rceil,求最长的奇数kkk使得 k≤n−i∗2+2k≤n−i∗2+2k\le n-i*2+2 S[i,i+k−1]=S[n−i−k+2,n−i+1]S[i,i+k−1]=S[n−i−k+2,n−i+1]S[i,i+k-1]=S[n-i-k+2,n-i+1]。 n≤106n≤106n\l...

2018-04-06 14:59:37 719

原创 Codeforces 961G Partitions 组合数学

题意有n个元素,每个元素有一个权值wiwiw_i。定义全集的一个子集SSS的权值w(S)=|S|∑i∈Swiw(S)=|S|∑i∈Swiw(S)=|S|\sum_{i\in S}w_i。当把全集划分为若干个集合时,定义一种划分的权值为每个集合的权值和。现在要求所有把全集划分成kkk个非空集合方案的权值和。 k≤n≤2∗105k≤n≤2∗105k\le n\le 2*10^5分析考...

2018-04-06 11:13:55 786

原创 CS Academy Round 75 Permutations NTT

题意给一个正整数n和询问数q,每次询问给出两个数x和y,问有多少长度为n的排列P满足: Py=maxyi=1PiPy=maxi=1yPiP_y=\max_{i=1}^yP_i 2∗Px<Py2∗Px<Py2*P_xn,q<=105,x<yn,q<=105,x<yn,qans(y)=∑i=1n⌊i−12⌋Cy−2i−2(y−2)!(n−y)!ans(y)=...

2018-04-06 10:06:15 233

原创 Codeforces 815D Karen and Cards 线段树

题意给你n张卡,每张卡有三个权值a,b,c。定义若卡1能战胜卡2当且仅当卡1至少有两个权值严格大于卡2。问有多少张卡满足三个权值都在给定范围内且可以战胜给出的n张卡。 n,a,b,c<=500000n,a,b,c<=500000n,a,b,c...

2018-04-04 17:08:21 406

原创 AtCoder Grand Contest 018 E - Sightseeing Plan 数学

题意给出三个不相交的矩形区域,现在可以从每个矩形内选出一个点,求有多少条只能向上或向右走的路径满足以第一个点为起点,第三个点为终点且必然经过第二个点。 坐标范围是1000000分析如果直接大力推式子的话,会发现不管怎样都会有六个循环,且都不好化简。 那么接下来先给出一些结论: 设C(x,y)=(x+y)!x!y!C(x,y)=(x+y)!x!y!C(x,y)=\frac{(x...

2018-04-04 08:00:53 235

原创 bzoj 1129: [POI2008]Per 中国剩余定理+树状数组

题意给你一个序列s,你把这个序列的所有不同排列按字典序排列后,求s的排名mod m n<300000,2<=m<=109,1<=Si<=300000n<300000,2<=m<=109,1<=Si<=300000n∏pki∏pik\prod p_i^k的形式,然后把每个pkipikp_i^k当做模数做一次,最后用CRT合并就好了。 ...

2018-04-03 20:27:58 554

原创 hdu 5780 gcd 线性筛+数论

题意给出n个x,求∑1≤a,b≤ngcd(xa−1,xb−1)∑1≤a,b≤ngcd(xa−1,xb−1)\sum_{1\le a,b\le n}gcd(x^a-1,x^b-1) 1≤n,x≤1000001≤n,x≤1000001\le n,x\le100000,300组数据。分析有个结论就是gcd(xa−1,xb−1)=xgcd(a,b)−1gcd(xa−1,xb−1)=xgc...

2018-04-03 17:38:27 374

原创 bzoj 4833: [Lydsy1704月赛]最小公倍佩尔数 数论

题意令(1+2–√)n=e(n)+f(n)∗2–√(1+2)n=e(n)+f(n)∗2(1+\sqrt 2)^n=e(n)+f(n)*\sqrt 2,其中e(n),f(n)e(n),f(n)e(n),f(n)都是整数,显然有(1−2–√)n=e(n)−f(n)∗2–√(1−2)n=e(n)−f(n)∗2(1-\sqrt2)^n=e(n)-f(n)*\sqrt2。令g(n)表示f(1),f(2)...

2018-04-03 17:14:56 314

原创 bzoj 4559: [JLoi2016]成绩比较 容斥原理+拉格朗日插值法

题意G系共有n位同学,M门必修课。这N位同学的编号为0到N-1的整数,其中B神的编号为0号。这M门必修课编号为0到M-1的整数。一位同学在必修课上可以获得的分数是1到Ui中的一个整数。如果在每门课上A获得的成绩均小于等于B获得的成绩,则称A被B碾压。在B神的说法中,G系共有K位同学被他碾压(不包括他自己),而其他N-K-1位同学则没有被他碾压。D神查到了B神每门必修课的排名。这里的排名是指:如...

2018-04-02 07:33:29 529

原创 bzoj 4671: 异或图 容斥原理+线性基+斯特林反演

题意定义两个结点数相同的图 G1 与图 G2 的异或为一个新的图 G, 其中如果 (u, v) 在 G1 与G2 中的出现次数之和为 1, 那么边 (u, v) 在 G 中, 否则这条边不在 G 中.现在给定 s 个结点数相同的图 G1…s, 设 S = {G1, G2, … , Gs}, 请问 S 有多少个子集的异或为一个连通图? 2≤n≤10,1≤s≤60.2≤n≤10,1≤s≤60. ...

2018-04-01 20:12:03 421

原创 bzoj 5245: [Fjwc2018]欧拉函数 线段树套bitset

题意对于正整数 n,定义欧拉函数 φ(n) 为小于等于 n 且与 n 互质的正整数个数。例如 φ(1) = 1, φ(8) = 4。 给定正整数序列 a1, a2, · · · , an,请依次执行 q 个操作,操作有以下三种类型: 0 i x:修改 ai 的值为 x; 1 l r:查询 φ(al + al+1 + · · · + ar) 的值,输出这个值对 10^9 + 7 取模...

2018-03-31 08:18:58 728

原创 bzoj 5244: [Fjwc2018]最大真因数 Min_25筛

题意一个合数的真因数是指这个数不包括其本身的所有因数,例如6的正因数有1,2,3,6,其中真因数有1,2,3。一个合数的最大真因数则是这个数的所有真因数中最大的一个,例如6的最大真因数为3。给定正整数l和r,请你求出l和r之间(包括l和r)所有合数的最大真因数之和。 L,R<=5*10^9分析显然素数的最大真因数为1,合数的最大真因数为它本身除以它的最小素因子。 那么只要...

2018-03-31 08:11:53 821

原创 bzoj 1921: [Ctsc2010]珠宝商 后缀自动机+点分治

题意有一棵n个节点的树和一个长度为m的字符串S,树上每个节点有一个字符。问对于任意的有序数对(x,y),从x到y路径组成的字符串在S中出现次数的和。 n,m<=50000n,m<=50000n,mO(1)O(1)O(1)的,所以这么做总的复杂度是O(n2)O(n2)O(n^2)。暴力2:我们考虑求每个点作为路径的lca时候的贡献。设路径的lca为点Z,那么对于一条路径(X,Y...

2018-03-31 07:49:21 1005 1

原创 Codeforces 955F Heaps 树形dp

题意给出一棵n个节点的树,定义一个点u是深度为m的k-ary heap当且仅当: 当m=1时u是一个深度为1的k-ary heap 当m>1时则要满足有不小于k个u的儿子v满足v是深度为m-1的k-ary heap 设dp(k,u)dp(k,u)dp(k,u)表示u的子树中深度最大的k-ary heap的深度。 现在要求∑nk=1∑nu=1dp(k,u)∑k=1n∑u=1ndp(...

2018-03-30 15:27:34 406

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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