- 博客(358)
- 收藏
- 关注
原创 Atcoder 400 Number Of Amidakuji 思维,DP
题意:m根柱子平行摆放,间距为1,每根柱子的高度都为n+1. 可以在两根柱子之间的某个刻度[1,2....n]上连接一条线(不能斜着,并且每一条连接的线都没有共同的端点)起点为(1,1) 每次往下走,只到遇到直线 则朝该条直线的方向上走.1<=n<=100. 1<=m<=8. 给出k,问有多少种连续方案使得能从起点走到(n+1,k). 因为每条直线都没有...
2018-11-06 15:00:35
529
原创 CF 508E. Maximum Matching 建图,欧拉路径,并查集
题意:n个三元组(c1,v,c2). 可以把(c1,v,c2) 变为(c2,v,c1).若c2[i]==c1[i+1] 则可以把i放在j的左边.从n个三元组中选出若干个排成一个序列的价值为:所选的v之和.n<=100. 1<=c<=4. 问最大价值为多少?由于三元组可以翻转.以三元组为顶点建图没有意义.以颜色为顶点.若存在三元组(c1,v,c2) 则在(c1,c2...
2018-11-04 00:33:25
356
1
原创 NCPC 16 C Card Hand Sorting 思维,二元组LIS
题意:扑克牌有4种花色{s,h,d,c}. 现在有n张扑克牌牌={花色,编号}.要求:将同一种花色牌放在一起.并且同一花色中编号按从小到大或者从大到小顺序放.操作:把某张牌插入任意两种牌中间,或者放到头尾.n<=52. 问满足条件时 最少要用多少次操作?假设只有一个类型花色. 那么将序列排序需要的最小操作次数为:n- LIS (排序后LIS=n,一次操作最多让LIS+1)...
2018-11-04 00:33:04
243
原创 NCPC 16 Artwork 正难则反(删除点->添加点),并查集
题意:初始n*m个白块.一个白块可以走到相邻4个白块中.Q次操作.某次横着或者竖着将若干个白块变为黑块.n,m<=1e3, Q<=1e4.每次操作过后,问白块的连通分量个数为?每次若干个白块变为黑色. 相当于在图中删除若干个点以及它的边.然后在求连通分量.O(nmQ)TLE.正难则反.:从后往前.删点变为加点.每次加入一个点u,看点u相邻的4个连通分量是否和u所在的联通分量...
2018-11-04 00:31:54
164
原创 NCPC 16 B Bless Your AutoCorrect 建图,Trie,BFS
题意:按照出现频率由大到小给出n个单词,操作1:输入一个字符或者删除当前字符.操作2:根据现在所输入的字符串s,自动联想到字典中前缀为s并且出现频率最大的单词.n,m<=1e5 总的字符数<=1e6.m次询问,每次给出一个单词,问输入该单词最少需要多少次操作. 操作次数最多为单词的长度,一次操作2会输入若干个字符 可能会减少操作次数.建图:先对字典中的单词建立T...
2018-11-04 00:31:35
164
原创 CF 505D. Recovering BST 降维,DP
题意:长度为n的序列a.问是否能通过序列a构造出一棵n个节点的BST.并且若有边(u,v) 则gcd(u,v)>1.n<=700, 1<=a[i]<=1e9. 设f[l][r][i] 序列[L,L+1..R]并且以i为根时 是否能构造出合法的BST.F[L][R][u] = f[L][u-1][x] && f[u+1][R][y]...
2018-11-04 00:31:17
140
原创 CF Edu 47E. InterCity Travelling 期望线性,打表
题意:n个关卡,第i个关卡得分为a[i]. 若第i个关卡存在机关,那么[i+1,n]关卡的得分为 [a[1],a[2]....].第n个关卡不能放机关,那么总共有2^(n-1)种方法.n,a[i]<=1e6. 问得分的期望为? 令p= 1/ (2^(n-1). s[i]为第i种情况的得分.期望 E = Σ (p*s[i]) = p*Σ s[i] 设cnt[i]为:...
2018-11-04 00:30:55
145
原创 CF 500E. Hills DP(状态设置)
题意:长度为n的序列a,定义位置p为合法,当 a[p]>a[p-1] && a[p]>a[p+1].操作:选择某个pos,令a[pos]--.n<=5e3,a[i]<=1e5. 对k=[1...n/2] 询问,至少k个位置合法时的最小操作次数? 先分析一下: 位置p合法 则位置 p-1, p+1都为非法. 若a[p-1]>p 或者...
2018-11-04 00:30:20
163
原创 CF 513D. Social Circles 思维,贪心
题意: 每个圆圈由若干张椅子组成. 现在有n个人 第i个人要求它左边至少有L[i]张空椅子, 右边至少有R[i]张空椅子.n<=1e5, 0<=L[i],R[i]<=1e9. 可以有任意个圆圈. 问满足n个人的要求时,最少需要多少张椅子? 设p[i]:为坐在第i个人右边的人.显然序列p为一个排列. 那么答案为 n + Σ max( R[i], L[p[i]]) ...
2018-11-04 00:29:43
164
原创 CF 514D.Nature Reserve 几何,二分,交集
题意:二维平面上n个点(x[i],y[i]) 问是否能找到一个和x轴相切的圆.并且这个圆包含n个点.n<=1e5, -1e7<=x[i],y[i]<=1e7. 求出满足条件的圆中,半径最小为多少? 若n个点都在x轴以上或者x轴以下,显然有解,并且R有单调性.(若(x,y,R)为一解,那么(x,y+1,R+1)肯定也有解).二分半径R,设圆心为(X,Y) 若圆和x...
2018-11-04 00:29:23
171
原创 CF 808F Card Game 好题,最大点权独立集
题意:n张卡片,第i张卡片价值p[i],序号为c[i],等级为l[i],初始等级为1,不能选等级比自己大的物品.现在从n张卡片中选出一个子集,要求其价值和不低于k,并且任意两个序号和不是素数.问最少要升到多少级.n<=100,k<=1e5,p[i]<=1000,c[i]<=1e5,1<=l[i]<=n.首先1<=l[i]<=n<=...
2018-11-04 00:27:57
216
原创 ZOJ 2676 Network Wars 0-1分数规划,最小割
题意:n点m条带权边的无向图.起点为s终点为t.n<=100.m<=400.输出一个边集S 使得删掉S后,s-t不存在路径. 并且 Σ(w[S[i]]) / |S| 最小 要求最小化 λ = f(x) = Σ w[i] * x[i] / Σ c[i] *x[i] = w*x / c*x [ x[i]代表选第i条边. 并且向量x要构成一个边割集.]...
2018-11-04 00:27:16
172
原创 BZOJ 1497 最大获利 最大权闭合图,最小割.
题意: n个基站,架设第i个基站花费为p[i]. m个加成,第j个加成为(a[j],b[j],c[j]) 表示 若架设基站(a[j],b[j]) 则带来收益c[j].n<=5e3, m<=5e4. 0<=c[i],p[i]<=100. 可以选任意个基站架设,问最大收益为多少? 建图:n+m个顶点. [1..n]顶点的权值为-p[i]. [n+1,n+m]个顶点的...
2018-11-04 00:26:30
129
原创 BZOJ 1283 序列, 费用流,建图
题意:长度为n的序列a,第i个物品价值为a[i].选出一个子序列,满足任意一个长度为m的区间中,被子序列选中的个数<=k. n<=1e3,m,k<=100.问选出的子序列价值和的最大值.若k==1, 显然可以直接dp[i]=max(dp[i-1],dp[i-m]+a[i]). .子问题为k==1的情况. (或者i->i+m连接(cap=1,cost=a[i])的边....
2018-11-04 00:23:49
159
原创 GCPC 13 F Peg Solitaire 暴力dfs,状态数
题意:5*9的字符矩阵,'.'表示空地','#'表示障碍,'o'表示棋子.操作:若一个'o'它相邻4格中某个方向也为'o' 则它可以跳跃相邻的'o'落在其旁边的'.'空地上.并且被跨越的'o'消失.'o'最多8个. 问最少剩余多少个棋子.并求出此时需要的最少操作次数.因为'o'最多8个 并且每操作一次减少一个'o' BFS存状态麻烦.用dfs是否能不超时?平均每个'o'操作的次数为2. ...
2018-11-03 22:42:42
378
原创 GCPC 13 E No Trees But Flowers. 定积分(函数绕x轴旋转体积).梯度法
题意:花瓶的轮廓用 f(x)= a*e^(-x^2) + b*sqrt(x) 来描述. a,b为常数.x为花瓶的高度.花瓶的体积为:f绕着x轴旋转一圈. 给出目标体积V 以及n个花瓶的参数a,b,h.0<V<=1e5.0<n<=5.任意两个花瓶的体积至少差1e-4.问哪一个花瓶体积最接近V?.高度h为x轴的右边界.函数f(x)绕着x轴旋转一圈.选两点x,x+dx.旋...
2018-11-03 22:42:09
575
原创 CF Manthan 18 E Trips 逆向思维(删边,添边),set
题意:n个点,m次操作,第i次操作添加边(u,v).每次操作后询问:最多可以选出多少个点? 要求:被选出的点组成的子图 任意一个点的度>=k.n,m<=2e5.添加边没思路,考虑反着来.初始先加入m条边,从后往前考虑删除一条边时答案产生的变化.se维护二元组(deg[u],u).每次先把度数<k的点u删除.若u的相邻点v在集合内,并且边(u,v)没有被删除过. 则更新...
2018-11-03 22:41:37
204
原创 GCPC 13 A Boggle 暴力,Trie剪枝
///////////////////////////////////题意:字典中总共有w个单词.b次询问.每次给出一个4*4的字符矩阵.可以从矩阵中任意一个位置开始.往相邻8个方向走.最后组成一个单词.若组成的单词在字典中,则按其长度来计算分数. 长度3,4积分为1.长度5积分2.长度6积分3.长度7积分5.长度8积分11.字典中的单词长度最多为8.矩阵中的同一个位置在一个单词中只能出...
2018-11-03 22:36:43
271
原创 NCPC 14 A Amanda Louges 建图,二分图染色
题意:n个白点.有m个条件(u,v,x).(u,v,x) x=0表示u,v两点都不能变为黑色.(u,v,x) x=1表示u,v两点正好有一点要涂成为黑色.(u,v,x) x=2表示u,v两点都要涂成黑色.n,m<=2e5. 问最少要把多少个点涂成黑色才能满足m个条件.无解输出-1.建图:先把所有(u,v,x=1)的 (u,v)连接一条边.(u,v,x=2)的点mk标记为tru...
2018-11-03 22:16:32
239
原创 NCPC 14G. Outing 图论(出边),DP
题意:[1..n].n个人.如果想要邀请第i个人 则必须要邀请第a[i]个人.1<=k<=n<=1000. 邀请的人数不超过k时. 最多能邀请多少个人?先建图,连接有向边(i,a[i]) 若邀请x 则要邀请以x为起点遍历的联通分量.因为每个点只有一个出边. 所以每个联通分量都是以 一个环 + 若干个分支(tributary)组成.选择该联通分量任意一点 都要把环选上 ,...
2018-11-03 22:14:49
385
原创 HDU 6406 Taotao Picks Apples 线段树,模拟,单调栈
题意:长度为n的序列a,每次从第一个数开始,拿一个严格大于上次拿的数.m次询问:问将a[p]=x时,总共能拿多少个数? n,m<=1e5, 1<=a[i]<=1e9.当a[p]变为x时, 要先找到[1:p-1]中选的最后一个y.此时只要找到[p+1,n]中第一个比max(x,y)大的下标q.线段树维护最值来即可.预处理出d1[i]表示前缀i选的个数. 以及d2[i...
2018-11-03 22:11:32
114
原创 NEERC-SSC F Debate 思维
题意:n个人,每个人是4种类型的其中一种(00,10,01,11) 不支持A,B.只支持A,只支持B,AB都支持.第i个人的权值为a[i], 要求从n个人中选出一个子集.(假设选出的人数为m)条件1:支持A的人数 2*a>=m.条件2:支持B的人数 2*b>=m.n<=4e5. 1<=a[i]<=5000. 问满足条件时,最大的权值和为多少? ...
2018-11-01 18:56:47
247
原创 CodeChef DEC14 Course Selection 最小割,建图,割边
题意: n门课程,m个学期. 同一门课可能在多个学期中都有开设a[i][j]表示在第j个学期修第i门课的成绩. a[i][j]=-1表示第j个学期没有开设第i门课.k个修课条件(u,v) 表示要修第v门课 必须先修完第u门课.n,m,k,a[i][j]<=100. 问修完n门课的最多平均分为多少? 分母n为固定的,总得分越大,平均分也越大. 反着考虑,总的扣分尽量小(从...
2018-11-01 10:50:52
253
原创 CF 518C Colored Rooks 构造
题意: [1:n]n种颜色,m个加成(a,b) 表示颜色a,b为和谐的. 1e9*1e9的网格,每个棋子可以到它同行或者同列的某个棋子上.要求选出摆放k个棋子满足以下要求 k只需要<=5000.要求1: 每种颜色的棋子个数>=1.要求2: 同一种颜色的棋子是联通的.要求3:两个不同颜色的棋子a,b. 只要当(a,b)出现在m个加成中时,(a,b)棋子构成的集合时联...
2018-10-31 10:30:26
230
原创 CF 519D Mysterious Crime 枚举,DP.
题意: m个[1:n]的排列. 操作: 将排列的某个前缀和后缀删除.m<=10. n<=1e5.每个排列操作一次.问有多少种操作方式,使得m个排列变为相同. 若最后相同的序列为第一个排列的[L:R] 那么显然[L,R-1]也是一个解.设d[i]为:当a[1][i]为起点时,最长的一个合法解. nxt[k][x] 为第k个排列,数x下一个位置的数.令x=a[1][i...
2018-10-30 19:55:48
360
原创 CF Edu 53D Berland Fair 暴力,取模
题意: n个商店围成一圈. 第i个商店的物品单价为a[i]元. 有无限件该物品.规则:初始从1出发. 若当前金钱X>=a[i] 则花费a[i]买下一件物品.继续前往下一个商店.n<=2e5,T<=1e18,1<=a[i]<=1e9 问初始金钱为T时,按照该规则,能买多少件物品? 设走一圈能买cnt件物品,花费为c. 那么接下来T/c圈 都是买同样的物品...
2018-10-28 22:19:25
139
原创 南京网络赛 18 J Sum 线性筛,素因子分解
题意:定义x为square-free数,当x不被任意一个大于1的平方数整除. (x的素因子幂全都<2).令f[n]为 n=a*b 并且a,b都为square-free数的方案数. n<=2e7 求Σf[i] [i=1:n].求f[n], n= p1^a1 * p2^a2 *...pk^ak.此时b选择某些因子,a也就固定了.a[i]>=3,(那么f[n]==0 因为...
2018-10-26 17:29:49
108
原创 NCPC 14 H Clock Picture 序列同构,KMP
题意:两个钟面上有n个针,第i个角度分别为a[i],b[i]. 总的角度为mod=360000.n<=2e5. 0<=a[i]<360000. 问能否将钟a上的针同时旋转一个角度后变为钟b.现将两个钟排序. 假如a[i]变为b[j]. 则旋转角度为p=(b[j]-a[i]+mod)%mod; 此时b[j+1]必须要由a[i+1]旋转后得到. ([1.i-1]显然角度不够,...
2018-10-26 17:29:27
170
原创 CF 506E Tree with Small Distances 思维.
题意:n个点的树.n<=2e5.最少添加多少条边才能使得节点1到任意一个点的距离<=2. 首先最多不会添加超过n-2条边. 假如1->v,1->u的距离超过2.(u,v)之前没有边添加(1,u),(u,v) 显然把(u,v)边替换成(1,v)结果更优.所以添加的每条边都是1的出边.考虑的角度很重要.一个节点u可以连它的fa,本身,son[u].情况比较多.把距离...
2018-10-26 17:29:07
174
原创 HDU 6438 Buy And Resell 思維,貪心
题意:n件物品,第i天,要么花a[i]元买入物品i,或者以a[i]元卖出背包中的物品.n<=1e5,1<=a[i]<=1e9.问最大获利,以及在最大获利下的最少交易次数.思维:不在第i天考虑是否买入,在第i天时看做获得[1..i-1]物品的买入权利.priority_queue维护当前能买的物品,set维护已经卖出去的物品.现在在第i天只考虑是否能卖出a[i]来获利....
2018-10-26 17:28:40
98
原创 CC April 18 Cutting Plants 单调队列+思维
题意:长度为n的序列A,B.操作:选定一个区间[L,R]将里面的数变为h , h<=min(a[L],a[L+1]...a[R]).n<=1e5,1<=a[i],b[i]<=1e9. 问将序列A变为序列B最少需要多少次操作? 无解输出-1.假设某次操作是将[L,R]内的数变为x.则x要满足 max(b[i]) <= x <= min(a[i]) i...
2018-10-26 17:28:23
162
原创 HDU 6393 Traffic Network In Numazu 环套树+树链剖分
题意:n点n条边的无向带权图,m次操作.操作1:修改x-y的边权操作2:询问x-y的最短路.n,m<=1e5.1<=w[i]<=1e5因为是n条边的联通图,也就是环套树的形式.并查集找出环上任意一条边(u,v).现在(x,y)的最短路可以分为:是否经过边(u,v).不经过边(u,v) 则(x,y)的距离为树上两点的距离.经过边(u,v) 注意有两种方案: x-...
2018-10-26 17:27:52
177
原创 HDU 6395 Sequence 矩阵幂,下取整,分段
题意:F[1]=A,F[2]=B, F[i]=C*F[i-2]+D*F[i-1]+[p/i]1<=P,n<=1e9. 求出第n项的值.[p/i]随i不同而变化, 如果没有这一项或者这一项是一个常数的话,显然就可以用矩阵幂来推.[p/i]下取整的值最多只有2*sqrt(p)项. (i<sqrt(p)显然结果最多sqrt(p)项, i>=sqrt(p) 结果最大为s...
2018-10-26 17:26:59
239
原创 CF EDU 46E We Need More Bosses 边双缩点,树直径
题意:n点m条边的无向图,初始联通,定义(s,t)的价值为:有多少条边e,满足删除边e后,s无法到达t ?2<=n<=3e5, n-1<=m<=3e5. 问所有(s,t)中的最大价值为多少?若(s,t) 为同一个环上的点,那么显然没有满足条件的e.所以先边双联通缩点.此时树上任意两点(s,t)其价值为距离.找出缩点后,树的直径即可.#include <b...
2018-10-26 17:26:21
114
原创 HDU 6370 Werewolf 思维,基环树.
题意:村民只会说真话,狼可能说假话. (i,j,k)表示第i个人说第j个人是k(k=村民或者狼)[i=1..n].i!=j.n<=1e5.总共有2^n种情景(有些可能非法.). 问有多少人一定为村民,以及有多少人一定为狼?因为狼可以将真话也可以讲假话. 假如n个人全部为狼,不会产生任何矛盾,第i人说其他人为村民就当做假话,说别人为狼就当做真话.所以一定为村民的人数为0.先不考虑...
2018-10-26 17:24:20
178
原创 HDU 6356 Glad You Came 区间操作分解,倍增
刚开题面 式子有点多...不要慌..只是生成操作的数据.(防止因为读入超时.)题意:长度为n的序列a,初始为0, m次操作(l[i],r[i],v[i]) j=[l[i],r[i]] 若a[j]<v[i] 则令a[j]=v[i].n<=1e5,m<=5e6. 输出m次操作后,序列a的异或和.若两个操作的区间都相同,显然其作用的只有v值较大的那一个.另d=log2(...
2018-10-26 17:21:59
127
原创 HDU 6351 Beautiful Now 全排列,预处理,暴力
题意:十进制数n.操作:可以交换n的任意两个digit的位置. T<=100.1<=n,k<=1e9. 问k次操作后,能得到最小和最大的数字?贪心:假如要大,当前数字和后面最大数字交换.假如有多种 不一定选最后面的..有反例..n只有9位数(1e9情况只有一种).暴力枚举全排列(第i位变到第p[i]位),一个排列到另外一个排列最少的交换次数为:sigma(每个循环节的...
2018-10-26 17:20:51
153
原创 Atcoder 700 Worst Case 贪心+二分
题意:两个1,2,3,....inf的集合A,B. 从两个集合中各选一个数(a,b)的得分为a*b.Q次询问,每次询问(a,b),[表示分别选中a,b].问从剩下的两个集合中最多能选出多少对(x,y)使得x*y<a*b Q<=100. 1<=a,b<=1e9.当a<b1,2,3,....a-1,a,a+1.....1,2,3..C................
2018-10-26 17:19:23
229
原创 HDU 6313 Hack It 构造,数论
题意:要求构造一个n*n的01矩阵,满足其任意的子矩形,其4个角都不全为1.1<=n<=2000.并且矩阵中1的个数要>=85000.令n=p^2. 任意两个01序列相同的1数量不超过1.构造:总共p块.每块有p行,每行分为p个区域.每个区域p列.然后令每一个行中每一个区域都正好有一个1.并且每块中除了第一行以外,其余同行中任意两个1所在位置模p不同余 (同一行1所在...
2018-10-26 17:19:00
135
原创 HDU 6311 Cover 欧拉路径,覆盖
题意:n点m条边的无向图,问最少用多少条路径覆盖整张图,要求任意两个路径都不能有公共边. 并输出这些路径.n,m<=1e5.假如原图为欧拉图,那么显然只需要用一条回路.一条路径中,最多只会包含两个奇数点,那么答案>=odd/2 (odd为奇数点的个数.)现在可以构造该答案.将奇数点两两连上虚拟边.总共odd/2条边.在新的图上跑一次欧拉回路,回溯时不标记这些虚拟边,则回路被...
2018-10-26 17:18:37
186
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人