自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Wilbert的博客

我们背靠万丈深渊 我们只能大步向前

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

原创 HDU-5895 Mathematician QSC

题目大意:已知f[0] = 0, f[1] = 1, f[i] = f[i-1] * 2 + f[i-2],且g[n] = g[n-1] + f[n] * f[n],现在给出n,y,x,s,问你x^(g[n*y]) mod (s + 1)的值为多少。解题思路:首先可以得到的是g[n] = f[n] * f[n+1] / 2证明方式就是xjb打表加上猜加上数学归纳法,别问我怎么猜到的

2016-09-20 20:38:52 684

原创 素数算法

一、引言在平时做题目或者进行运算的时候,素数的出现次数总是十分频繁。这里总结了一些常见的判定素数和计算某个范围内素数个数的一些算法。部分代码来源于 kuangbin 的模板,嗯毕竟都是跟着这个学的...二、朴素判断素数算法就判断素数而言,事实上是非常简单的了。根据定义,判断一个整数n是否是素数,只需要去判断在整数区间[2, n-1]之内,是否具有某个数m,使得n % m == 0。代码可以这么写:...

2016-09-19 21:23:00 29584 8

原创 HDU-5900 QSC and Master

题目大意:有n对二元组(key, value),两个相邻的元组间如果key的不互质,那么可以被移除,并获得两个元组的value值之和的分数,问你最多能有多少分数。解题思路:区间DP按照最裸的区间DP模型用记忆化搜索写是要超时的...本题的模型可以参考POJ-2955 Brackets题解这里有~设dp[i][j]表示区间[i, j]能获得的最大分数状态转移就可以写成dp

2016-09-19 18:25:33 687

原创 HDU-5889 Barricade

题目大意:给你n个点,有m条边,让你求出这个图的最短路上的最小割,这个最小割。解题思路:直接求出最短路图然后dinic跑最小割就行。我遇到的一些错误点:1、用dinic算法求解最小割需要使用当前弧优化,否则会TLE2、最短路图注意求最短路的时候,每个边都是长度为1,也就是说可以bfs求。千万不要把权值当成边长3、构造最短路图注意不要重复构造代码:#include

2016-09-18 21:44:35 568 1

原创 HDU-5884 Sort

题目大意:给你n个长度为ai的序列,让你把这n个序列合并,每次合并需要一个cost,值为合并的序列的长度之和,每次最多可以合并k个序列。现在问你,给出cost最大为T,最小的k是多少。解题思路:显然,可以用优先队列水一发,复杂度为nlognlogn二分枚举k,然后每次取最小的k个加在一起,加入队列,然后判断,加和是否比T大。其实就是一个k维哈夫曼树的优先队列优化,来篇博客,传送

2016-09-17 22:54:00 480

原创 HDU-5876 Sparse Graph

题目大意:给你一个完全图让你删除给出的这些边形成新的图,问你在新的图上的s点到其它所有点的距离。解题思路:BFS乱搞...补图的BFS的问题虽然很经典= =不过确实还是第一次做。很方。用一个map来保存邻接的信息。因为最多20000,很坑的是比赛时候题面给的是5000然后先从s来遍历所有点,如果邻接信息里面含有s到i的边,那么将i插入到set里面,并将dis[i]置为-1,

2016-09-13 12:56:32 458

原创 BZOJ-1010 [HNOI2008]玩具装箱toy

解题思路:斜率优化DP这道题= =嘛算是斜率优化的入门题目了。还是非常经典的感觉。首先考虑,这道题目有经验的小伙子一眼就可以想出来状态转移方程是什么。显然是 dp[i] = min(dp[i], dp[j] + pow(sum[i] - sum[j] + i - j - 1 - L, 2));但是想出来之后,想都不用想就知道这个题目,显然是不会是这么简单就能解决的了。因为n

2016-09-13 12:39:42 578

原创 POJ-2955 Brackets

题目大意:给你一个只由'('、')'、'['、']'组成的字符串,问你这个字符串的子串能够匹配的最长长度是多少。能够匹配的意思是这样的:1.如果s是个空串,那么它是匹配的。2.如果子串是(s)或者[s],那么它也是匹配的,其中s是匹配的3.如果s是匹配的,s'也是匹配的,那么ss'也是匹配的解题思路:标准的区间DP直接按照上面3个定义来考虑区间DP就好。代码:

2016-09-07 11:26:19 680

原创 BZOJ-1177 [Apio2009]Oil

解题思路:一种非常神奇的枚举策略...不过这种枚举策略...是需要DP来完成的嘛...这种神奇的题目我独立肯定是做不来的...所以我是看着这篇博客写的...传送门嘛...这篇博客好就好在...你必须要想通了你才知道这个代码是怎么回事...太可怕了%%%首先,因为题目说了, 必须要是三个k*k的矩形,那么其实相对来说比较容易的想法就是一个个去枚举,但是肯定会超时。那么考虑一个问题

2016-09-04 14:37:41 624

空空如也

空空如也

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

TA关注的人

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