自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 资源 (1)
  • 收藏
  • 关注

原创 FZU 2082 过路费(树链剖分+线段树)

传送门:FZU 2082 过路费题意:中文题自己看。。思路:树剖(把边权记录在dep深的点上,把dep深的点按出现顺序存在a数组中,更新第x条路,即更新a[x])+线段树。双手奉上代码

2016-10-21 14:44:15 338

原创 HYSBZ 2243 染色(树链剖分+线段树区间合并)

题意:中文题自己看吧。。思路:树剖+线段树区间合并。。不能用cin!!!我因为这个re五发!!!找到错感觉莫名其妙!!!求好心人告诉我为什么。。新技能get:树剖爬边时的合并。。愤怒的贴代码

2016-10-20 23:06:20 243

原创 ACdream 1424 Diversion(树链剖分+线段树)

传送门:ACdream 1424 Diversion题意:给一个边双联通图,n个点m条边,其中n-1条边构成树,点1为树根(值为1,以下称为黑边),其他m-n+1条边为普通边(值为0,以下称为白边)。。要求最多去掉一条黑边和一条白边使图不联通,求方案数。思路:在树上把连接白边的两个节点进行路径染色,重复染色的边说明该边不止与一条白边相连,去掉该边和与之相连的其中一条白边图也依旧

2016-10-20 19:53:30 269

原创 Gym 101061G Repeat it(Math)

传送门:G Repeat it题意:给定n,m。。思路:取模运算支持加减乘法。。因为1e9+7是素数,除法求个逆元即可。。m重复n次即为以下数列之和,设m长度为len:m*(10^(len^0)),m*(10^(len^1)),m*(10^(len^2))...m*(10^(len^n-1))显然这是个等比数列,等比数列求和通项公式:a1*(

2016-10-09 11:59:08 437

原创 Intel Code Challenge Final Round D Dense Subsequence(线段树)

传送门:Dense Subsequence题意:给定一个数k和一个字符串s,从s中选取一些字符形成新串,要求每k个连续字符至少要选1个,输出字典序最小的新串,aabb>aaabb,aabb>aab。思路:遍历一遍,如果当前k个中没有选过,就把当前k个中的最小的选上。。(用线段树维护一下最小值)。。因为aabb>aaabb。。预处理字符串s中每个字母的出现次数。。把选上的字母进行排序

2016-10-09 01:14:24 361

原创 UVA 12706 Zero-Knowledge Protocol(思维题)

传送门:UVA 12706 Zero-Knowledge Protocol题意:给定n和m,以及长度为n的序列s1和长度为m的序列s2,对s2进行全排列,如果和s1的连续子序列相等,取第一个数字在s1中的下标,对所有得到的下标求平方和。 思路:全排列,也就是说只要每个数字出现的次数相同就算相等。。这样我们考虑用两个multiset去维护,ms1维护应该出现但没有出现的数,m

2016-10-09 00:57:30 365

原创 Gym 100712D Alternating Strings (dp)

传送门:D Alternating Strings题意:给定n和k,以及长度为n的01串,现要求切割该串,使得到的每个子串都满足:长度不超过k,且每个子串都不是完全交替的01串,如01,010,101,101010等是完全交替的01串,而001,110,101011则不是,问最少需要切几次。思路:很明显是一个dp。。dp[i]表示i到n-1最少需要切几次。状态转移方程:dp[i

2016-10-07 01:00:20 286

原创 Intel Code Challenge Elimination Round D Generating Sets(贪心+线段树)

传送门:D Generating Sets题意:定义每个数x都可以由x/2得到,给定一个数列ai,要求输出能得到ai的bi,并使bi的最大值最小。思路:每次用最大值除2,直到不能除为止。。可以用线段树维护最大值。。贴代码

2016-10-04 10:41:35 255

原创 Intel Code Challenge Elimination Round C Destroying Array(线段树)

传送门:C Destroying Array题意:给定n个数的序列,n次操作,每次从中删除一个数,问删后的最大连续字段和。(删除的数也占位置,位置相邻的才是连续)思路:用线段树维护一下区间最大连续和即可。。贴代码

2016-10-04 09:59:59 288

搜索算法合集

搜索算法合集

2016-07-12

空空如也

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

TA关注的人

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