自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 cf833b:The Bakery(线段树优化dp)

题意cf833b n个数分成k段,求每段中不同数字个数的和的最大值题解dp[i][k]dp[i][k]dp[ i ][ k ]表示前i个数字分成k段的结果 dp[i][k]=max(dp[j][k−1]+num[j+1][i])(1<=j<i)dp[i][k]=max(dp[j][k−1]+num[j+1][i])(1<=j<i)dp[ i ][ k ]...

2018-03-29 21:05:42 275

原创 cf474e Pillars(线段树优化dp)

题意有n个柱子,每个柱子有一个高度hihih_i,每个柱子可以跳到它后面高度与它相差大于d的柱子(即|hi−hj|≥d|hi−hj|≥d\left | h_i-h_j \right|\geq d) 求最多可以跳多少个柱子题解ansi=max(ansj+1)(|hi−hj|>=d且j<i)ansi=max(ansj+1)(|hi−hj|>=d且j<i)ans...

2018-03-29 19:32:43 277

原创 bzoj 4556: [Tjoi2016&Heoi2016]字符串

题记讲真…这题看了好久啊好久啊好久..久到我都..不想说什么了 嗯这题..正解..还..有待..学习【捂脸】 (挖坑)题解bzoj4556 后缀数组..+暴力【捂脸】 这个暴力啊..就..从c开始的后缀的排名..往前、后查 因为..i开始的后缀与c开始的后缀的lcp=i与c之间height的最小值 因此..就..依次往前、后推好啦,如果..此时的height值小于答案,...

2018-03-27 22:49:41 207

原创 bzoj:3999 [TJOI2015]旅游(树链剖分)

题解bzoj3999 这题..唉..是道树剖啊 唉有方向啊~唉麻烦啊~ 对于x到y的一条路径,必须是后面的最大值减前面的最小值 而树剖会把这一段分开呀 因此,每次向上跳的时候,不能只记录最大值(右子数最大-左子数组小)了,还要记录这一段的最大最小 而且而且,树剖建树是按dfn序建的树,所以,x向上跳的的部分都是反的,因此,我们还要记录反过来的最大值(左子数最大-右子数最小) 然后...

2018-03-27 22:41:25 201

原创 cf703D. Mishka and Interesting sum(树状数组)

题目cf703d 求区间内出现次数为偶数的数的的异或和题解要是求奇数就都会了是吧,它它它偏偏求偶数哎呦喂真是的 我们知道一个数异或两次就相当于没有 所以..出现次数为偶数的异或和=区间所有数的异或和^区间内出现过的数的异或和 这样出现次数为奇数的就没了嘿嘿嘿真棒 区间内所有数的好求,那怎么求出现过的数的呢 记录每个数上一次出现的位置pos 然后…就..这样吧(表达能力...

2018-03-25 22:41:26 220

原创 poj2449 Remmarguts' Date(A*模板)

题记这题真的改死我(再见 哦还被diss了好久(再见 嗯感觉还有坑!(再见题意poj2449 有n条边,求s到t的第k短路题解这这这就A*算法模板吧【捂脸】 A*是啥呢 有人说是启发式合并吧… 我们定义一个评估值f(x)=g(x)+h(x)(例如求k短路中g(x)表示已经走了多远,h(x)表示从这个点到终点的最短路)f(x)越小就意味着越好咯,我们每次都...

2018-03-21 21:51:19 264

原创 bzoj4552 [HEOI2016/TJOI2016]排序(二分+线段树)

题解哇二分..真厉害! 每次二分一个数,然后把小于x的数当做0,大于的当做1 然后对于每一段,想把它排好序,也就是把1和0排好序,也就是把部分改成1、部分改成0。而这一段里面有几个1就可以区间和解决了。 即如果已经求出这段有cnt个1,升序操作[l,r-cnt]=0,[r-cnt+1,r]=1;降序操作[l,l+cnt-1]=1,[l-cnt,r]=0代码#include &...

2018-03-21 21:33:36 314

原创 poj3622 Gourmet Grazers (平衡树)

题意poj3622 有n头牛,m中养料,每种养料有两个值ai,biai,bia_i,b_i分别表示价钱和分量吧(我发誓他写的不是分量..但是…>_<…俗话说要体谅英语不好的人) 然后每头牛都需要吃价值大于x,分量大于y的养料。问这些牛都吃满意了所需最小价钱题解给养料、牛排序,按照分量越大价钱越大越靠前排 然后对于每头牛,把养料分量大约它所需要的加入平横树里 然...

2018-03-21 21:21:36 249

原创 二分图最大匹配必须边

基本..方法?两道题吧poj1486洛谷3731基本..方法?大概就是先求出最大匹配(网络流…匈牙利会错【捂脸】),然后在残留网络上跑tarjan。然后最后看最初匹配中每条边的是不是在一个强连通里,如果不在那它就是最大匹配必须边 emmm只能二分图中…两道题吧不过这两道题啊…不是一天写的【捂脸】..风格看起来有很多差别【捂脸】...

2018-03-20 00:29:23 1054

原创 hdu4699 Editor(栈)

hdu4699题记讲真这道题..最开始看到的时候..它属于平衡树分类…然后吧..我就认真的看了..认真的想了..认真的做了..然后就..认真的t了 后来…测了网上的平衡树..都t了(再见再见) 以至于..平衡树给我留下了深刻的阴影..直接放弃做了(再见再见)题意五个操作:I:在光标后加入一个数 D:删除光标前那个数 ...

2018-03-19 21:46:33 275

原创 bzoj3544: [ONTAK2010]Creative Accounting(splay)

题记bzoj3544泊兰题诶,不过是道权限题诶 所以我推荐你们..上波兰网站 不过这网站停用了【捂脸】多尴尬…题意给定一个长度为N的数组a和Mod,求一个区间[l,r],使得(∑i=lrai)modM(∑i=lrai)modM(\sum\limits_{i=l}^{r}{a_i}) mod M的值最大,求出这个值. 注意这里的模是数学上的模,即负数时的情况题解...

2018-03-17 19:46:59 175

原创 poj1419 Graph Coloring(dp)

poj1419题意给你一张图,相邻两个点不能都图成黑色(但可以都是白的,或一黑一白),问最多能涂多少个黑色的点题解这题啊,应该是求最大独立子集 然后我们要知道,最大独立子集=补图的最大团 那么,我们这道题就要求原图的补图,然后再求最大团咯 再说说最大团怎么写呢 最大团很好玩,我学了一晚上!(没学会【捂脸】) 那么怎么求呢!这是个np问题呢!所以,就dp...

2018-03-16 23:44:32 156

原创 poj1236 Network of Schools(tarjan)

poj1236 - 题意:n个电脑直接有一些有向边(u,v)。下发文件时,如果u得到了且有一条边(u,v),那么v也就得到了。 – 问1:最少下发多少份文件使得所有电脑能接收到文件 – 问2:至少加多少条使得从任意一个地方下发文件,所有人都能够看的到第一问,也就是求有多少个强连通块入度为0。 因为,每个强连通块内都是可以互相到达的,然后..如果这个强连通块入度不为零,那么说...

2018-03-16 22:58:31 113

原创 poj3687 Labeling Balls

poj3687 题意:有n个球,质量分别是1~n,然后告诉你编号为x的球比编号为y的球轻,问这n个球的排列方式,如果有多种就质量越小的编号尽量小题解:拓扑排序,不过..不能从1开始做,而应该从开始倒着做!!! 因为我们需要从先前最小,如果从前开始做不能保证…#include <cstdio>#include <cstring>#define N 220in...

2018-03-16 21:20:43 81

原创 poj1149 pigs

poj1149 题意:有m猪圈,n个买猪的人,每个买猪的能从k个猪圈中最多拿a只猪,然后着k个猪圈的猪可以..互换位置,问最多能卖出多少只猪 (虽然我很好奇…卖猪的人事很多诶)这题真的可以说很妙了,构图经典!这个讲的贼好!!! 简单来说…最开始可以想到把猪圈分成n层,每层代表来一个人以后的,即源点向最初的每个猪圈连边(值为猪的个数);每次的猪圈要是被打开了就向打开它的那个人连边然后这个人...

2018-03-14 22:34:35 88

原创 cai1149牛场的婚礼

cai1149 感觉是poj1904的..进阶版吧(虽然..就是多了一步【捂脸】我的博客我说了算!)因为这题不知道最初的匹配,因此,我们需要用匈牙利算法求出了最初匹配~ 下面的就同poj1904啦#include <cstdio>#include <cstring>#include <algorithm>using namespace st...

2018-03-14 00:03:22 181

原创 poj1904 King's Quest

poj1904 题意就是有n个王子,n个公主。已知每个王子喜欢谁,以及最初的匹配 问王子还可以喜欢谁使得依旧能满足配好对就是..强连通…每一个强连通块中的公主和王子就可以换了 那那那怎么构图呢~王子向公主连边,公主向最初匹配的王子连边注意:同一个强连通块并不代表这里的每一个王子和公主都可以匹配,需要王子找到他喜欢的公主! #include <cstdio>#in...

2018-03-13 23:56:41 233

原创 poj2253 The Bottom of a Graph

poj2253 题意:求所有的节点v,满足节点v所有能到达的点,都能反过来到达v。(多组测试数据)tarjan缩点…然后求入度为0的强连通块块的所有点 注意:这种题..大多最后要特判一下强连通块数等于0的情况#include <cstdio>#include <cstring>#include <algorithm>using namesp...

2018-03-13 00:31:46 129

原创 bzoj1051/poj2186

bzoj1051 每一个强连通块中的其中一个点能连到令一个点,那么这个强连通块中的每一个点都能连到这个点。 所以对块进行重构。那么,如果仅有一个块没有出度,那么这个块中点数的个数就是结果;否则就没有,即为0。注意: 重构时..要考虑这条边的起点终点在不在一个联通块..在的话就不要加入这条边了【捂脸】#include <cstdio>#include <algor...

2018-03-12 23:54:33 143

原创 bzoj1500

我只是…发个博客玩【捂脸】#include <cstdio>#include <queue>//#include <algorithm>//using namespace std;#define INF 1000000000#define N 510000queue<int> q;int n,m,root,tot=0;int ...

2018-03-11 15:23:00 229 1

原创 ccc2018

嗨失败的一天?第一题:就是简单的字符串比大小,把两个字符串都变成小写,然后比较字典序小的输出,多组测试数据第二题:就是说给你一个加法、减法、乘法的式子,里面有a、b、c…的字母,每个字母代表一个数,不同的字母代表不同的数,问a、b、c…的取值情况有多少种。 应该是枚举?第三题:有n个点,每个点有一个权值aiaia_i,每两个点i、j之间会有wijwijw_{ij}条边wij=ai×aj...

2018-03-09 22:27:16 669

原创 hdu1285 确定比赛名次

hdu1285就就就一道拓扑排序【捂脸】.. 被多组测试数据坑死【捂脸】.. 感觉多组测试数据就是来坑人的#include <cstdio>#include <cstring>#define N 550int map[N][N],cnt[N],n,m,ans[N]; bool flag[N];int main(){ while(scanf(...

2018-03-07 23:56:47 249

原创 hdu1532 Drainage Ditches

hdu1532 题意…emmm没什么好说的就是..n个点m条边…求网络流最大流#include <cstdio>#include <cstring>#include <queue>#include <algorithm>using namespace std;#define N 220struct node{int x,y,z,...

2018-03-07 23:09:21 104

原创 poj1200 Language: Crazy Search

poj1200 题意:求一个字符串中,长度为n的字串的种类标准哈希【捂脸】..我的哈希…感觉…有待改进【捂脸】#include <cstdio>#include <cstring>#define N 17000000 char s[N];int ans=0,n,m,len,num=0,hash[N],flag[N];unsigned long lon...

2018-03-07 00:02:38 128

原创 poj2752 Seek the Name, Seek the Fame

poj2752 题意就是求一个字符串,从前数i个正好等于从后数i个(即s[1..i]=s[n-i+1…n])求所有的i做法就是kmp求出next数组..然后我们发现…从最后一位开始…如果next[i]!=0就说明它和前面某一段时重复的..所以就可以跳到前面..然后继续跳啊跳#include <cstdio>#include <cstring>#define...

2018-03-06 22:20:38 123

原创 poj2406 Power Strings

poj2406 题意呢,就是求有多少个循环节…可以kmp求出next数组…然后…n-next[n]就是循环节的长度了【捂脸】 要求循环节个数..那就判断能不能除开…除的开就说明这是循环节..出不开就说明只有一个循环节…就输出1就好啦#include <cstdio>#include <cstring>#define N 1100000 char str...

2018-03-06 21:54:57 145

原创 poj3461 Oulipo

poj3461 题意:求字符串a在字符串b中出现过几次算是kmp裸题了【捂脸】..贼裸 kmp这东西..已经是一年前学的了???然而我今天发现…kmp的题…我竟然一道没对(再见 再见上一种写法…我不要再看见你了! 这种写法…显然好记【捂脸】 下面说正题…就说一点kmp的感受吧…做法并不难,就是看这一步能不能匹配,不能就找到上一个有可能能匹配的位置,继续看能不能匹配… 之前一直错可能...

2018-03-05 22:55:05 96

原创 poj2631 Roads in the North

dfsbfspoj2631 题意就是求树的直径…树的直径的求法就是两边dfs或者两边bfs吧【捂脸】…感觉两个速度一样诶【捂脸】 证明就是反证法,网上好多人都有证明..这里就不证了..可以看这里【捂脸】 做法就是第一次求出一个端点..然后再从这个端点找最长的路径…dfs#include <cstdio>#include <cstri...

2018-03-04 23:25:58 184

原创 hdu4453 Looploop

hdu4453 题意就是…一个环上有n个点,每个点有值,m个操作,有k1,k2两个参数 6种操作:1、add x 给此时指针指向的这个点开始的连续k2个数都加上x,指针位置不变 2、reverse 把从指针指向的这个点开始的连续k1个数翻转,指针位置不变 3、insert x 在指针指向的这个点后面加上一个值为x的点,指针位置...

2018-03-04 00:31:14 413

原创 hdu2475 Box

lctsplaylcthdu2475 题意就是有一些盒子相互嵌套 两个操作:move x y: 把x插入到y下面(y等于0就放入最外面)(还要注意非法情况…例如y在x里) query x:查询x所在盒子最大的盒子就说说lct的做法吧…感觉网上都是splay..然而我还没有仔细看【捂脸】 就把嵌套在一起的盒子建成一棵树...

2018-03-03 17:50:12 377

原创 cf86d Powerful array

cf86d 题意:给定n个数,m个操作,每次查询[l,r]中每个数的出现次数,结果是次数×次数×这个数的值莫队做咯,每次减去这个数原来个数个影响,再加上更改后的影响#include <cstdio>#include <cmath>#include <algorithm>using namespace std;#define N 220000...

2018-03-03 00:14:04 152

原创 bzoj2843 极地旅行社

bzoj2843 三个操作:1、连接x,y 2、把x的值改为y 3、查询x到y这条路径上的所以数的和没有cut的lct…ps:真的想打自己(再见 各种笔误#include <cstdio>#include <algorithm>using namespace std;#defin...

2018-03-02 22:52:50 145

原创 cf785e Anton and Permutation

cf785e 题意:n个数m个操作,最开始排好序的,每次换第x个数和第y个数,求换完后逆序数 把n个数分成n−−√n\sqrt{n}块,每次换两个数,这两个数之间的数的逆序个数不会变 就从x所在块的下一块到y所在块的前一块进行查找,然后就..瞎搞把(恕我语文能力不够..描述不了…) 然后再手动修改x、y所在的块#include <cstdio>#include &lt...

2018-03-02 21:44:16 697

原创 cf13e Holes

cf13e 同bzoj2002..几乎一样…不过最后求了一下从哪里跳出去的…然后就..gg了…#include <cstdio>#include <cmath>#define N 110000int n,m,q,a[N],b[N],c[N],to[N];void change(int i){ if(i+a[i]>n) b[i]=1,to[i]...

2018-03-02 18:10:51 159

原创 hdu 4010 Query on The Trees

hdu4010 多组测试数据 四个要求:1、把x与y连起来 2、把x转到跟,把y与此时y的父亲切开..(买看清这个..导致一直..mle【再见【再见【再见) 3、把x到y这一条路径都加上z 4、输出x到y这条路径上最大的数#include <cstdio>#include <algorithm>using namespace std;#define ...

2018-03-01 21:02:14 143

空空如也

空空如也

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

TA关注的人

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