- 博客(19)
- 资源 (2)
- 收藏
- 关注
原创 CF#571 B. Minimization (DP)
题目点我点我点我B. Minimizationtime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputYou've got arra
2016-08-31 23:08:34 388
原创 CF#369(Div2) C. Coloring Trees (DP)
C. Coloring Treestime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputZS the Coder and Chris the Baboon has arr
2016-08-30 22:38:50 389
原创 HDU 2196 Computer (树形DP)
题目点我点我点我题目大意:在一棵树上,求每个节点到树上任意结点的最远距离。解题思路:利用性质——"树上任意某个节点到树上任意节点的最远距离的端点一定会是树上直径的两个端点之一。”,第一次dfs从根节点开始找出树的直径的其中一个端点,然后从这个端点dfs,再从另一个端点dfs,max一下的最远距离则是所求答案。/* ********************
2016-08-23 16:01:33 274
原创 HDU 1054 Strategic Game (树形DP)
题目点我点我点我题目大意:在一棵树上的结点放置士兵,士兵可以本结点及相邻结点,问最少放置士兵数。解题思路:树形DPdp[i][0] 为以 i 为根节点,并且该点不放,所需要的最少的人数;dp[i][1] 为以 i 为根节点,并且该点放,所需要的最少的人数。那么状态转移方程为:dp[i][0]=sum(dp[son[i][j]]
2016-08-23 11:44:01 247
原创 hdu4514 湫湫系列故事——设计风景线 (树形DP+并查集)
题目点我点我点我题目大意:中文题不解释。解题思路:并查集判断是否有环,没环则树形dp一下。/* ***********************************************┆ ┏┓ ┏┓ ┆┆┏┛┻━━━┛┻┓ ┆┆┃ ┃ ┆┆┃ ━ ┃ ┆┆┃ ┳┛ ┗┳ ┃ ┆┆┃ ┃ ┆┆┃ ┻
2016-08-21 11:46:37 527
原创 CF#368 C. Pythagorean Triples (数学/推导公式)
C. Pythagorean Triplestime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputKatya studies in a fifth grade. Recen
2016-08-21 11:43:59 829
原创 CF#368 B. Bakery (暴力枚举)
B. Bakerytime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputMasha wants to open her own bakery and bake muffi
2016-08-21 11:36:07 433
原创 CF#333(Div2) C. The Two Routes(最短路)
题目点我点我点我C. The Two Routestime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputIn Absurdistan, there a
2016-08-16 21:20:24 550
原创 CF#333(Div2)B. Approximating a Constant Range(RMQ)
题目点我点我点我B. Approximating a Constant Rangetime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputWhen Xe
2016-08-16 20:31:52 443
原创 CF#367(Div2)D. Vasiliy's Multiset (字典树)
D. Vasiliy's Multisettime limit per test4 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputAuthor has gone out of the stories ab
2016-08-12 14:50:51 367
原创 CF#367(Div2)C. Hard problem (DP)
C. Hard problemtime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputVasiliy is fond of solving different tasks.
2016-08-12 14:41:23 381
原创 hdu 2167 Pebbles (状态压缩DP)
题目点我点我点我题目大意:给你一个矩阵,让你取其中的数使得这些数的和尽可能地大,并且取的数周围的8个都不能取。解题思路:状态压缩DP,预处理出来哪些状态可以用的,然后枚举每种可行状态,最后max一下求得最大值即可。dp[i][j]表示前i行状态为j的和。转移方程为:dp[i][j] = max(dp[i][j],dp[i-1][k]+sum[i][j]),其中k为前
2016-08-10 15:38:19 384
原创 hdu 5818 Joint Stacks (优先队列)
题目点我点我点我题目大意:有两个栈A,B,三种操作,push进栈,pop出栈,merge A B则将B内容放进A中重新按照入栈时间形成新栈,并将B清空。解题思路:用优先队列模拟操作。fi表示入栈的值,se为入栈序号。一开始直接模拟TLE了,需要用到滚动数组,因为merge操作有可能将一个栈很大的放到一个空栈里去,或者是一个很小的栈里去,然后不断重复这样操作就会超时了。因
2016-08-09 22:25:46 432
原创 hdu5389 Zero Escape(DP)
点击打开链接题目大意:有n个人,每个人都有个号码,有两个门a和b,现在要使得所有人都通过门(任意一个),进门条件是进入的所有人的数根等于a或者b,求方案数。解题思路:一个整数的数根公式为:(x-1)%9+1.用DP做:dp[i][j]表示前i个数选出来数根为j的方案数,状态转移方程也很容易推导,详情看代码,这里不做解释。这里我们只要考虑n个人的号码组成a有多少种就可
2016-08-08 23:52:53 258
原创 POJ 2155 (二维树状数组)
题目点我点我点我题目大意:矩阵里面开始全是0,‘C x1,y1,x2,y2’就是将左上角为x1,y1,右下角为x2,y2,的这个矩阵内的数字进行变换,0变1,1变0,;'Q x1 y1',输出a[x1][y1]的值。解题思路:经典的二维树状数组,重叠消元,利用0和1之间变换特性,答案对2取余即可。/* ****************************
2016-08-08 16:10:17 314
原创 POJ 2182 Lost Cows(树状数组+二分)
题目点我点我点我题目大意:有n头牛,给出第2~n头牛在它前面有多少头牛号码比自己小的,输出每头牛的号码。解题思路:从后往前看,最后一头牛可以确定它的号码,因为知道了前面有k头比它小的,k+1即为它号码。记a[i]为第i头牛在它前面有多少头牛号码比它小的(即输入值),c为它后面有多少头牛号码比它小的,本身号码为ans,则有a[i]+c=ans-1。变形可得:ans-1
2016-08-08 15:20:57 368
原创 超神读入挂
随手收割板子namespace fastIO{ #define BUF_SIZE 100000 #define OUT_SIZE 100000 #define ll long long //fread->read bool IOerror=0; inline char nc(){ static char buf[BUF_S
2016-08-05 15:51:25 2108
转载 嘿嘿嘿
有趣……#include #include #define N 50HANDLE hConsole;void gotoxy(int x, int y){ COORD coord; coord.X = x; coord.Y = y; SetConsoleCursorPosition(hConsole, coord);}int main(){
2016-08-05 11:37:55 332
原创 hdu5791 Two(DP,LCS)
题目点我点我点我题目大意:两个序列的公共子序列数目。解题思路:dp[i][j]表示A序列和B序列在Ai,Bj时公共子序列的数目。状态转移方程:dp[i][j] += (dp[i-1][j] - dp[i-1][j-1] + dp[i][j-1] + (A[i] == B[j] ? dp[i - 1][j - 1] + 1 : 0) )注意取模。/
2016-08-02 19:50:34 343
哈夫曼编码译码器
2015-12-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人