自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(147)
  • 收藏
  • 关注

原创 BZOJ3875【JSOI2014/AHOI2014】骑士游戏(knight) 贪心求解

题目大意现在有一个游戏,一共有两种攻击方式,一种是普通攻击,一种是法术攻击。两种攻击方式都会消耗一些体力。采用普通攻击进攻怪兽并不能把怪兽彻底杀死,怪兽的尸体可以变出其他一些新的怪兽;而采用法术攻击则可以彻底将一个怪兽杀死。 现在一共有NN种不同的怪兽,每只怪兽有几个参数Si.Ki,Ri,P1...PRiS_i.K_i,R_i,P_1...P_{R_i}。问至少花费多少体力才能把第一只怪兽杀掉。N

2016-08-24 16:57:52 1352

原创 JZOJ4735【NOIP2016提高A组模拟8.24】最小圈 Spfa深搜判负环

题目大意给你一幅NN个点MM条边的有向图,要你求图中最小圈的平均值最小是多少,即若一个圈经过kk个节点,那么一个圈的平均值为圈上kk条边权的和除以kk,现要求其中的最小值。N≤5000N \leq 5000 M≤10000M\leq 10000解题思路看到这题一个很好的思路就是二分答案,把问题转化成判定性问题。二分答案后,将每条边的边权都减去答案AnsAns,那么问题就转变成了判定一幅图中是否存在

2016-08-24 13:28:40 1012

原创 NOIP 8.20~8.23训练总结

Day 1拿到题目先看第一题,是一道裸的线段树,把式子化简一下就可以用线段树维护。继续道第二题,看上去像最大费用最大流,但是我的想法是每次单路增广,然后修改限制,感觉做法差不多,就先过了。第三题,看上去好像只有SAM能做,但是是多串匹配,我对SAM的多串匹配不是很熟,但是以前也做过类似的,应该可以全部扔到一个SAM里面维护,没有仔细想,先看下一题。数论题,一点思路都没有,感觉这题要弃疗。先打完第一题

2016-08-23 14:34:36 889

原创 JZOJ4555【NOI2016模拟6.20】没有强联通分量的无聊世界 利用Dag性质的简单Dp

题目大意现在有一个NN个点MM条边的有向图,问最少减去多少条边使得这个有向图无有向环。N≤22N \leq 22 M≤N∗(N−1)2M \leq \frac{N * (N - 1)}{2}解题思路不存在有向环,即操作后的图要是一幅DagDag。回想一下DagDag的性质,即只能拓扑序小的向拓扑序大的点连边。那么我们设F[s]F[s]表示状态为ss(一个二进制)的点形成一个DagDag能加入边数的

2016-08-22 22:03:30 1071

原创 CF 319E Ping-Pong 区间的并查集合并

题目大意定义区间(a,b)(a,b)能走到区间(c,d)(c,d)的条件是c<a<dc<a<d或c<b<dc<b<d。 现在有两种操作: Ord=1:Ord = 1:新加入一个区间(a,b)(a,b)(后加入的区间保证比新加入的区间长) Ord=2Ord = 2:询问从第aa个区间能否走到第bb个区间。 现在有MM个操作,对于第二个操作输出YESYES或NONO。M≤105M \leq 1

2016-08-22 19:02:10 2033

原创 JZOJ4726【NOIP2016提高A组模拟8.22】种花 增加改错机制的后贪心

题目大意现在有一个NN个点的环,环上每个点都有一个权值ValiVal_i,现在要求在这个环上选MM个点出来,使得点之间两两不相邻并且权值最大。如果无解则输出Error!Error!。N≤2∗105N \leq 2*10^5 −103≤Val≤103-10^3\leq Val \leq 10^3解题思路无解的情况很好判断,直接隔一个去一个看一下能不能取够MM个就行了。那么现在的问题就是怎么能使取出的

2016-08-22 13:58:20 905

原创 JZOJ4479【GDOI2016模拟4.26】游戏 线段树维护多条线段的信息

题目大意给你一颗NN个节点树,每条边都有有一个距离。每个点都有一个初始权值,为123456789123456789。现在有两种操作: Ord=1Ord = 1:给定四个整数S,T,A,BS,T,A,B。表示把SS到TT之间的点都插入一个值为A∗Dis+BA * Dis + B的权值,DisDis为这个点到S的距离(一个点可以有多个权值)。 Ord=2Ord = 2:给定两个整数S,TS,T,表示

2016-08-21 23:07:32 1067

原创 JZOJ4722 跳楼机 巧妙地转换为最短路模型

题目大意有一个HH高的楼房,现在给你三个正整数x,y,zx,y,z表示,在每一层ii,你有4种选择,到i+xi+x,i+yi+y,i+zi+z层或第11层。问能到多少个楼层。H≤1018H \leq 10^{18} x,y,z≤105x,y,z\leq 10^5解题思路也就是说有多少p=ax+by+cx(p≤H)p=ax+by+cx(p \leq H)我们可一考虑一种一种操来做,假设我们一开始用前

2016-08-21 14:41:21 1150

转载 OI算法汇总

转自yangle61:http://blog.csdn.net/yangle61/article/details/520552601.数据结构线段树树状数组平衡树Link-Cut-Tree可持久化数据结构分块KD树可合并堆(左偏树)2.数学组合数学质数模数论函数矩阵博弈论3.图论强连通分量(SCC)拓扑排序割点与桥欧拉回路4.树LCA树链剖分分治(点/

2016-08-19 22:32:31 1883

原创 NOI2012 美食节 动态加边维护费用流

题目大意现在有NN种人,每种人有PiP_i个,还有MM个厨师,第jj个厨师给第ii种人做菜需要时间Ti,jT_{i,j},并且同一时间一个厨师只能做一道菜。每个人的权值是这个人等待的时间。问所有人的权值和最小是多少。N≤40N \leq 40 M≤100M \leq 100 ∑Pi≤800 \sum P_i \leq 800解题思路设Sum=∑PiSum = \sum P_i。 我们考虑用网络

2016-08-19 22:20:50 1294

原创 NOIP 2016.8第一次模拟总结

最近与雅礼进行了第一次模拟,又考挂了。Day 1因为不知道题目来源,题目的难度也不是很确定。一拿到题先看第一题,明摆着是向下走乘b,向右走乘a,可是我看成了求整个矩阵的和!样例挺大的,不是很敢推,感觉虽然很丧,但应该能做。推了半个多小时,发现最后的难点就是把多项式C01a0+C02a1....C0NaN−1C_{1}^{0}a^0+C_{2}^{0}a^1....C_{N}^{0}a^{N-1}转移

2016-08-19 15:30:30 616

原创 CF 671D Roads in Yusland 线段树维护代价合并的思想

题目大意给定一颗NN个节点的树,现在有MM个工人,每个工人有三个属性ui,vi,Ciu_i, v_i, C_i,表示这名工人可以维修节点uiu_i到节点viv_i的所有路径,花费为CiC_i,并且保证viv_i是uiu_i的祖先。问最少花费多少使得树上的每条边都有人维修。N,M≤300000N,M \leq 300000 Ci≤109C_i \leq 10^9解题思路这题有个特殊的性质,就是每个工

2016-08-19 12:47:31 1296

原创 CF 696E ...Wait for it... 链剖练手题

题目大意给定一颗NN个点的树,现在有MM个物品,每个物品一开始都在节点AiA_i上,权值为ii。现在有两种操作,先读入OrdOrd: Ord=1Ord = 1:再读入三个整数u,v,Limu,v,Lim表示从uu到vv这条路径上从小到大把最多LimLim个物品从树上取出,并且从小到大输出。 Ord=2Ord = 2:再读入两个数u,Valu, Val表示给在uu这棵子树的所有物品加上权值ValV

2016-08-18 20:02:20 808

原创 CF 452F Permution 神奇的线段树判断

题目大意给定一个11到NN的列,问是否存在一个长度为33的子等差数列。N≤300000N \leq 300000解题思路看到这题,感觉有点无从下手,好像怎么要都要枚举两个值。 但是我们可以发现一个很神奇的性质如果对于一个位置ii,它是子等差序列中的第二项,那么如果不存在长度为33的子等差数列,那么Ai+kA_i + k和Ai−kA_i - k在位置ii前肯定是成对存在的,即如果我们把位置ii前出现

2016-08-18 14:50:34 878 4

原创 上下界网络流小结

之间一直对上下界网络流不是很熟悉,今天就来小结一下!无源汇的上下界网络流对于一般的网络流每条边流量的下界是0所以不需要特别处理,但是有些网络流问题每条边会有一个流量下界,我们可以用一个二元组(low,up)(low, up)来表示一条下界为lowlow,上界为upup的边。 那么对于每个点,要满足:∑进来的界流+∑进来的自由流=∑出去的界流+∑出去的自由流\sum进来的界流 + \sum进来的自由

2016-08-18 11:06:23 1143 5

原创 CF 704D Captain America 上下界网络流

题目大意给定NN个点,每个点有一个坐标(Xi,Yi)(X_i,Y_i)。现在要给每个点染成红色或蓝色,染成红色的费用为rr,染成蓝色的费用为bb。现在有MM条约束,每条约束形如t,l,dt,l,d: t=1t = 1:对于直线x=lx=l上的点,红色的点数与蓝色的点数的差不能大于dd。 t=2t = 2:对于直线y=ly=l上的点,红色的点数与蓝色的点数的差不能大于dd。 现在问最小的花费把所

2016-08-17 23:07:17 931

原创 CF 616F Expensive Strings 用到fail链性质的SAM练手题

题目大意给定NN个串tit_i,每个串有一个权值cic_i。现在要求找到一个串SS,满足∑Ni=1ci⋅|S|⋅pi,s\sum^{N}_{i=1}c_i\cdot|S|\cdot p_{i,s},pi,sp_{i,s}表示SS在tit_i中出现次数。N≤105N \leq 10^5 ci ≤107c_i\ \leq 10^7 ∑ti≤5∗105\sum t_i \leq 5 * 10^5解题思

2016-08-16 23:12:45 1146

原创 CF 702F T-shirt 奇怪的平衡树维护+超强复杂度证明

题目大意给定NN件T-shirt,每件T-shirt有一个Qi,CiQ_i,C_i表示花费和代价。现在我们的选择策略是这样的:把价值从大到小排序,价值相同的把花费从小到大排序,对于拥有的初始金钱,我们按排序后的数组从前往后尽量取T-shirt,收益就是取的T-shirt的数目。现在有MM组询问,每组询问有个初始金钱BiB_i,问你每组询问的收益。N,M≤2∗105N,M \leq 2 * 10^5

2016-08-16 22:55:37 1309

原创 SPOJ SOPARADE(JZOJ 4696 第四次忍者大战) 根据条件构图跑2-SAT

题目大意现在有NN个位置,每个位置要填入一个11到44的整数,要求亮亮间的差要大于等于二。并且现在有MM条约束,每条约束规定了kk个位置B1,B2...BkB_1,B_2...B_k上的数两两不同。问是否有合法的填法。N,M≤105N,M \leq 10^5解题思路我们一步步从题目的约束中挖掘性质。 首先,相邻的两个数的差的大于等于2,那么1的傍边只能是3,4。2的旁边只能是4。3的旁边只能是1。

2016-08-16 22:25:22 758

原创 CF 316G3 Good Substring SAM上的简单计数

题目大意给你一个长度为NN的字符串SS和MM个限制。每个限制为(t,l,r)(t,l,r),表示限制字符串ss在tt中的出现次数为ll到rr。问SS中有多少不同的子串符合这MM条限制。N,Lenti≤500000N , Len_{t_i}\leq 500000 M≤10M \leq 10解题思路看到这题,一个很直接的思路就是用SAM来做,我们可以先建出SS的SAM,然后再把MM个限制串也放进去。S

2016-08-16 16:40:55 812

原创 GDOI 8.11~8.14训练总结

又到了回学校训练的时间……Day 1拿到题目,看了看第一题,有点懵逼,什么鬼第一题都不会!乱搞了一下,发现怎么都过不了,有点慌,先看第二题。第二题一看题面就是网络流,但是数据范围就有点奇怪,n≤10000,m≤2000n \leq 10000, m \leq 2000,这么大,网络流真的跑的动,想了一下构图,也没什么好思路,就感觉可能不是用网络流做。第三题又是喜闻乐见的字符串题,但是题目告诉我不用后

2016-08-15 11:22:32 465

原创 CF 487E Tourists(JZOJ4691 旅行) 树链剖分维护点双连通分量信息

题目大意给定一个NN个点MM条边的无向图,每个点有一个点权。现在有两种操作,第一种是修改一个点的点权,第二种是询问两点间路径上的最小点权(不能经过重复的点)。操作数为QQ。N,M,Q≤109N,M,Q \leq 10^9解题思路我们先考虑没有修改点权的情况。那么我们可以先用点双连通分量缩环,缩环后的点权为环上的最小值。而每组询问就变成了求树上两点间的最权值。这个经典问题可以用倍增后链剖来维护。但是有

2016-08-15 10:46:13 908

原创 CF 581E Kojiro and Furrari(JZOJ 4689 新车) 动态规划维护贪心

题目大意现在有一个长度为MM的数轴,上面有一个起点和一个终点,起点一定在终点左边。现在你要开车从起点到达终点,但是你的油箱只能走长度为SS的路程。途中有NN个加油站,加油站加的汽油有3种,分别为98,95,92,并且一个加油站只能加一种有油,在每个加油站你可以加任意多的油。一开始你加满了98的汽油,现在给定你每个加油站的位置和可以加的油的种类。问能否到达终点,如果可以最少需要加多少92汽油,当加92

2016-08-15 10:06:45 940

原创 JZOJ4686 卡牌游戏 线段树维护贪心策略

题目大意有两个人在玩这样的一个游戏:现在有2N2N张牌,牌的大小为11到2N2N,每个人都从中拿NN张牌来进行NN轮比大小。现在你已经知道第二个人的出牌顺序,你要帮第一个人赢得经量多(你可以决定他的出牌顺序)。比大小的规则是这样的:一开始是谁牌上的数字大谁就赢。但是当游戏进行了若干轮后,你可以改变游戏规则,变为谁的牌小谁赢(只能修改一次!)。问最优策略下第一个人能赢多少轮。N≤50000N \leq

2016-08-15 09:35:45 875

原创 CF 700E Cool Slogans 线段树+后缀数组贪心求解

题目大意化简成我理解的题意,跟原题有点不一样! 给你一个长度为NN的字符串SS,定义一个字符串AA比另一些字符串BiB_i”酷”,当且仅当AA中有至少两个为BiB_i的子串(可以重叠,但不可以完全重叠),并且A串的价值为BiB_i中价值的最大值加1(每个串的初始价值为11)。问SS价值最大的子串价值多少。N <= 2∗1052 * 10 ^ 5解题思路由于现在有求价值最大的子串,所以我们可以用贪心

2016-07-31 22:38:06 1872

原创 JZOJ4588. 【NOI2016模拟7.7】冷战 + 按秩合并讲解

题目大意给定一副NN个点的图。动态的往图中加边。现在有两种操作,每种操作读入三个数Ord,u,vOrd,u,v: Ord=0Ord = 0 : 在u,vu,v间连一条双向边 Ord=1Ord = 1 : 询问u,vu,v最早在什么时候联通。N,M <= 10510^5解题思路对于维护联通块的问题,我们可以用并查集来维护,实际上并查集就是维护了一颗树,如果我们用按秩合并的话树的深度就是O(LogN

2016-07-30 20:37:39 805

转载 波兰表 不会被卡但多了个Log的Hash

转自  http://vfleaking.blog.163.com/blog/static/174807634201321981915529/后来发现其实就是把倍增算法构造后缀数组的标号存下来。在POI 2010 官方题解 P77面看到了这个东西。由于不知道这个数据结构叫什么名字,波兰人原话是“这个数据结构”……有点"You-Know-Who"的感觉。貌似是

2016-07-30 16:08:56 1119

原创 BZOJ4444 SCOI2015国旗计划 根据性质优化贪心

题目大意现在给定一个大小为MM的环,顺时针编号1 M1~M,以及NN个人,每个人有一个给定的属性Li,RiL_i, R_i表示可以覆盖顺时针方向的LiL_i 到Ri R_i,现在要求选最少的人覆盖掉整个环(包括两个点之间的区间),问当第ii个人必选是,至少选多少个人。M<=109M <= 10^9 N<=105N <= 10^5解题思路首先最直观的思路就是把环拆开变成一条链,我们发现我们当起点确定

2016-07-30 15:53:54 1371

原创 BZOJ3156 防御准备 水水的斜率优化(斜率优化总结)

前言好久没做斜率优化的题了,找个水题来练练手顺便总结一下我对斜率优化的理解。题目大意现在有NN个检查点和一个给定的序列AiA_i,在一个检查点上放置一座塔的花费是AiA_i,放置一个木偶的花费是该位置右边最近的塔离它的距离(最后一个一定要放塔)。 现在每个检查点必须要放塔或者木偶。问最小的花费。N <= 10610^{6} AiA_i <= 10610^6解题思路一看就知道是裸的斜率优化……

2016-07-30 15:30:36 645

原创 7.15 ~ 7.17 GDOI训练总结

NOIP的模拟终于告一段落,接下来又到了喜闻乐见的GDOI训练时间(虽然还没考完NOIP……)。虽说是GDOI训练,但感觉难度根NOIP差不多,应当是NOIP出太难了吧……Day 1继续NOIP的画风,这场比赛是5个小时的,感觉有是要提前弃疗的节奏。 先看了看第一题,什么鬼,题目都看不懂,反复看了三四遍终于有点理解了出题人的意思,看来语文还是不过关啊。被题意摧残后又没什么思路,就去看下一题。第二题

2016-07-17 22:04:40 788

原创 BZOJ4633 SCOI2016 萌萌哒 并查集维护ST表

题目大意一个长度为NN的数,SiS_i表示这个数的第i位是什么,现在题目给出了MM个约束,每个约束为lx,rx,ly,rylx,rx,ly,ry,表示这个数的子串S[lx...rx]S[lx...rx]等于另一个子串S[ly...ry]S[ly...ry]。问满足题目约束的,长度为NN的数有多少个。N≤105N \leq 10^5 M≤105M\leq 10^5解题思路一个很显然但是会T的做法就是

2016-07-16 22:31:53 780

原创 BZOJ4570 SCOI2016 妖怪 凸包+双钩函数求最值

题目大意现在有NN只妖怪,每个妖怪都有两个权值Ai,BIA_i,B_I,现在对于每种环境,设置两个参数(a,b)(a,b)表示我可以把一直怪兽的BiB_i减去kbkb,AiA_i加上kaka(kk可以去任意实数),定义一之怪兽在某个环境的权值为Ai+Bi+maxAi+maxBiA_i + B_i + maxA_i + maxB_i(maxmax表示已经进行过AiA_i和BiB_i的值)。 现在问,

2016-07-16 18:57:01 1560

原创 BZOJ4568 SCOI2016 幸运数字 倍增的思想维护线性基(线性基详解)

题目大意给你一颗NN个节点的树,每个节点都有一个权值AiA_i,现在有MM组询问,每组询问有3个数u,v,u,v,,要求你输出在树上节点uu到节点vv的路径上,每个节点的权值可以选或不选,求选出的点的权值的异或最大值。N≤2∗104N \leq 2 * 10^4 M≤2∗105M \leq 2 * 10^5 Ai≤260A_i \leq 2^{60}解题思路看到这种区间异或最大值的题,那么我们就

2016-07-15 22:44:35 2073

原创 JZOJ4600 有标记技巧的链剖

题目大意现在有一颗NN个节点的树,每个节点上都有一个权值,现在有些人会入住树上的这些节点,每个人都会有个自身的权值,而当他入住到某个节点后他新的权值就是自身的权值加上节点的权值。一开始每个节点的权值是0,每个节点上都会住着一个给定权值为AiA_i的人。现在有MM个操作。每种操作读入四个数type,u,v,Valtype,u,v,Val。 type=0type = 0 把树上节点uu到vv的权值增加

2016-07-14 20:07:37 1626

原创 7.11~7.13 NOIP训练总结

续着上一次的模拟,又有新的一轮NOIP模拟,怀着上一次每天都发挥失常的遗憾,开始了这3天训练Day 1今天先是看时间,5个小时!之前可是3个半小时的模拟赛,感觉题目会很难。 先看第一题,裸的树链剖分,可是不想打树剖,而且题目有一些很优美的性质,感觉可以挖掘一个优美点的算法。就先去看第二题,发现是TJOI2016的原题,而我碰巧又看过,回想了一下就想起来了。第三题,一开始以为是连续子序列,式子就很好

2016-07-13 21:57:55 824

原创 JZOJ4623 搬运干草堆 主席树维护贪心(加了一点图......先将就着看......)

题目大意现在有NN个正整数AiA_i,现在我们可以任意的改变其中的值,设改变后的值为A′iA_i',那么我们需要花费的代价就为|A′iA_i' - AiA_i|。问把这个序列变成单调不上升序列的最小代价。N<=105N <= 10^5 Ai<=106A_i <= 10^6解题思路这道题我们可以用贪心的思想去完成。因为题目要求代价最小,那么对于我们每一个位置i,在花费相同的时候,我们肯定让AiA_i

2016-07-13 16:16:29 1012 1

原创 JZOJ4594 Dynamic Len 带修莫对

莫对的升级,可带修改操作的莫对算法,带修莫队

2016-07-10 15:08:24 990 1

原创 7.7~7.9 NOIP训练总结

经过了上一年NOIP狗带后,今年决定好好的搞一搞NOIP的内容,刚好最近有个3天的NOIP模拟赛,做完后感觉效果不错,但是每天都会有失误的地方。

2016-07-09 16:03:12 983

原创 HNOI2014 世界树 基于虚树的树形动态规划

HNOI2014 世界树 基于虚树的树形动态规划

2016-06-06 22:59:48 2250 5

原创 JSOI2016 独特的树叶 树的Hash判同构

JSOI2016 独特的树叶 树的Hash判同构

2016-05-31 22:47:46 3028 3

空空如也

空空如也

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

TA关注的人

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