
DP
丶聂小白
这个作者很懒,什么都没留下…
展开
-
Codeforces 408D Long Path
D. Long Pathtime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputOne day, little Vasya found himself in a maze c原创 2014-03-31 13:48:42 · 761 阅读 · 0 评论 -
POJ-1655 Balancing Act 树的重心
对于树上的节点,它的值等于去掉它后生成的森林里面节点最多的n原创 2014-08-15 10:26:29 · 641 阅读 · 1 评论 -
UVA-6436 The Busiest City 树形DFS求解
给出n个顶点,n-1条边,对于每一个顶点来说每有一条路径经过,繁荣度+1,求最大繁荣度。经过的含义就是这条路径使用了跟这个顶点相连的边中的的两条,任意组合都可以,所以要找出每个顶点相连的边延伸出去有多少种情况。从第一个顶点开始建树,对于第i个节点有sum[i]个子节点,因此dp[i]=sum[i]*(n-1-sum[i]),再加上节点的n棵子树的节点数乘积/2。#include #i原创 2014-08-15 10:18:14 · 919 阅读 · 0 评论 -
HDU-4705 树形DP
C++能过,G++会爆栈,+了扩栈头文件也是这样#pragma comment(linker, "/STACK:1024000000,1024000000")#include #include #include #include #include #include using namespace std;const int maxn=110000;struct Edge{原创 2014-08-28 15:46:59 · 457 阅读 · 0 评论 -
ZOJ-3632 Watermelon Full of Water 线段树+DP
暑假生活开始了,夏日炎炎,集训队想要每天都吃到西瓜。已知n天,每天商店提供一个西瓜,不同的西瓜可以供集训队吃不同的天数,也有不同的价格,问集训队想保证每天都能吃到西瓜的最小花费。单个数100000,数组大小50000,因此需要用线段树优化。对于每天的西瓜,不取则从最小值数组里取出当前最小值,取的话则是找出最小值+当天的西瓜价格,并且线段树更新后k天的最小费用。dp[i][1]=min(原创 2014-08-29 14:55:26 · 831 阅读 · 0 评论 -
ZOJ-3626 Treasure Hunt I 树形DP
很久很久以前有一个吸血鬼,每m天就会出现一次,把不在自己村子呆着的冒险家吃掉。有n个村子,n-1条道路,每个村子都有一定数量的财富,默认探险家刚一到达一个村子就能获得财富,给出探险家的出生的村子和多少天后吸血鬼出现。要求在吸血鬼出现之前赶回自己的村子,其实就是求一棵以k为根的各点权值之和最大且各边权加起来#include #include #include #include #in原创 2014-08-29 15:13:01 · 694 阅读 · 0 评论 -
HDU-5001 Walk 2014年鞍山网络赛E题
依次枚举每个不能走过的点,DP递推下一步情况,求出所有其他点的概率之和即为这个点不会被走过的概率。#include #include #include #include #include #include #include #include #include #define LL long long #define inf 1<<29using namespace std原创 2014-09-13 19:28:56 · 1193 阅读 · 0 评论 -
HDU-5000 Clone 鞍山网络赛D题 DP+猜想
一个人可以克隆出自己克隆体,一个克隆体有n个方面,如果一个克隆体全方面逊色于另外一个克隆体,那么它就无法存活下去,问怎样可以同时最多存活的克隆体数目。思路:得到最大值的时候,每个克隆体的属性之和必然是相同的,并且这个和是所有方面最高属性和的二分之一。问题就变成n个数组成sum/2的方案数。#include #include #include #include #include #in原创 2014-09-16 21:58:52 · 908 阅读 · 0 评论 -
HDU-5045 Contest 状态压缩DP求期望
N个人,M道题,M个小时,每个人做一道题需要1个小时。给出一个N*M的矩阵代表每个人做对每道题的概率。然后要求在任何时刻,任意两个人的敲题时间差不能大于1,也就是说,m道题要分成多段长度为n的最优排列,n为10,2^10=1024 1024*1000 状压即可。#include #include #include #include #include #include #inclu原创 2014-09-27 20:04:40 · 997 阅读 · 0 评论 -
Hdu-4632 Palindrome subsequence DP
给出一个字符串,问它有多少个回文字串原创 2014-10-09 22:39:01 · 546 阅读 · 0 评论 -
HDU-4628 Pieces 状压DP
给出一行字符串,每次可以删去一个回文子串,子串可以是不连续的,因此用状压比较好模拟,求删掉整个字符串需要的最少步数。字符串的最大长度为16,因此不能逐行枚举状态,首先预处理出来所有的的回文子串,然后从第一步开始,依次状压第i步能到达的状态,如果能达到母串,跳出。还有初始化不要用图省事用memset。。不优越的姿势+函数导致T了数发。#include #include #includ原创 2014-10-15 22:17:28 · 1101 阅读 · 0 评论 -
HDU-2577 How to Type DP
字符输入问题,刚开始没有考虑到shift+字符输入和当前大小写锁定状态相反状态字符只需要两步的问题。状态转移方程:dp1[i]表示输入完第i个字符后为大写状态需要的步数 dp2[i]表示输入完第i个字符后为小写状态所需要的步数如果第i个字符为小写:dp1[i]=min(dp1[i-1]+2,dp2[i-1]+2);dp2[i]=min(dp1[i-1]+2,dp2[i-1]+1);原创 2014-10-19 18:05:36 · 735 阅读 · 0 评论 -
HDU-1025 Constructing Roads In JGShining's Kingdom O(nlogn)的最长上升子序列
模板题,唯一问题是当长度为1是,road是单数,不然road是复数roads。#include #include #include #include #include #include #include #include using namespace std;const int maxn=1021000;struct node{ int r; int b原创 2014-10-19 16:48:54 · 724 阅读 · 0 评论 -
2018招商银行笔试题——团建活动
题目大意:一排人站成一队,共有n个人,每个人有各自的身高,用一个数组表示。然后AB两个人参与游戏,每次可以从队伍最左侧选择一个或者两个人加入自己的队列,最后将两人的队列的人的身高总和进行比较,总和大的人获得胜利,A先手,且A和B每个人都足够机智(每手都是最优),求A是否可以必胜。首先这题只是看上去像个博弈,但是由于每个人的身高不同(题目并没有给出身高范围,理论上可以出现一个人顶其它人总和的情况原创 2017-09-14 15:08:37 · 1905 阅读 · 0 评论 -
爱奇艺2018年实习生招聘笔试题题解-python开发
笔试总共三道编程题,在牛客网上考,难度都不高,已知的编程题题题库有四道,不过牛客网上没有公布全部的编程题,本文只写我遇到的三道。第一题,给出三个数x,y,z,两种操作,一种是任取两个数字都加1,一种是取一个数字+2,求最少多少次操作使得三个数字相等。思路:排序,看较小的两个数与最大的数的差值,1、差值均为偶数,直接 差值/2 求和;2、差值均为奇数,两个数+1(差值均-1),然后/2 求和,3、一...原创 2018-04-21 15:57:25 · 550 阅读 · 0 评论 -
POJ-2229 Sumsets DP
把给出的数字分解成2的幂相加的形式,weny原创 2014-09-05 15:33:52 · 442 阅读 · 0 评论 -
HDU-4906 Our happy ending 状压DP
继续做状压,多校比赛时没能出这道题,原创 2014-08-07 21:18:23 · 572 阅读 · 0 评论 -
HDU-4771 Stealing Harry Potter's Precious 状压DP+BFS
哈利波特假期回姨夫家的时候会把他的宝贝藏在地精银行,现在要偷他的宝贝,银行的房间分为可破坏与不可破坏两种,其实就是可到达与不可到达,然后给出哈利的k个宝贝放的位置,如果能全部拿到输出最小的步数,不能拿到则输出-1,用BFS搜索,最先搜到的肯定就是步数最小的,搜不到则输出-1.最近做的好多DP题都跟搜索有关系,看来还是多方面都得会才行啊。#include #include #include原创 2014-08-06 16:50:10 · 776 阅读 · 0 评论 -
ZOJ-3682 E - Cup 3 DP+01背包
想了很久才意识到可以用DP做,之前原创 2014-04-16 14:04:01 · 682 阅读 · 0 评论 -
DP训练 hdu 1003 Max Sum 最大连续子段和
开始专项有目的做题,从水题开始吧。。。#include #include #include #include #define maxn 110000using namespace std;int n,a[maxn];int max(int a,int b){ if(a>b) return a; return b;}/*int maxsum(int v[]){ in原创 2014-03-22 22:49:50 · 496 阅读 · 0 评论 -
DP训练 K好数
问题描述如果一个自然数N的K进制表示中任意的相邻的两位都不是相邻的数字,那么我们就说这个数是K好数。求L位K进制数中K好数的数目。例如K = 4,L = 2的时候,所有K好数为11、13、20、22、30、31、33 共7个。由于这个数目很大,请你输出它对1000000007取模后的值。输入格式输入包含两个正整数,K和L。输出格式输出一个整数,表示答原创 2014-03-21 20:40:49 · 442 阅读 · 0 评论 -
DP训练 POJ-1050 To the Max
题意:给出一个矩阵,求出最大子矩阵。最大子矩阵就是该矩阵的所有元素之和最大。思路:把该问题转化为一维数组最大连续子串和问题,即二维转化为一维。假设求出的最大子矩阵为从x行到y行,从第c列到第r列,则该矩阵转化为一维即用数组储存从第1列到第n列的所有x行到第y行的元素和,求数组的最大连续子串和。#include #include #include #include #incl原创 2014-03-22 23:01:12 · 498 阅读 · 0 评论 -
状态压缩DP总结
DP搞的头都大了,找到一篇好文留着慢慢看。动态规划本来就很抽象,状态的设定和状态的转移都不好把握,而状态压缩的动态规划解决的就是那种状态很多,不容易用一般的方法表示的动态规划问题,这个就更加的难于把握了。难点在于以下几个方面:状态怎么压缩?压缩后怎么表示?怎么转移?是否具有最优子结构?是否满足后效性?涉及到一些位运算的操作,虽然比较抽象,但本质还是动态规划。找准动态规划几个方面的问题,深刻转载 2014-03-23 16:57:13 · 552 阅读 · 0 评论 -
POJ-3176 Cow Bowling 数塔,简单DP
求出从上到下的最大的和,只能和相邻的相加。#include #include #include #include #include #include #include using namespace std;int main(){ int dp[366][366]; int a[366][366]; int n; while(~scanf("%d",&n)) {原创 2014-04-10 22:57:53 · 541 阅读 · 0 评论 -
POJ-World Cup Noise 简单DP
给一个长度为n的01串,问不出现连续的1序列有多少种简单DP。原创 2014-05-16 21:53:23 · 791 阅读 · 0 评论 -
The 2013 ACM/ICPC Asia Changchun Regional Contest题解
A题水题,不多说原创 2014-07-21 14:03:27 · 650 阅读 · 0 评论 -
第三周组队训练赛-长沙现场赛解题报告
这场比赛开的是长沙的现场赛,感觉难度不是很高的样子。原创 2014-07-28 11:25:57 · 692 阅读 · 0 评论 -
琦神教我学DP———POJ-3254 Corn Fields 状压DP
状压DP很久之前就看了一下,但是当时我连普通DPdoumei原创 2014-08-01 21:49:31 · 699 阅读 · 0 评论 -
HDU--4784 Dinner Coming Soon DP+BFS
题意很长很变态。一个人要到他男朋友家,他最初有R元以及T分钟的时间来赶到他男朋友家。有N个房子M条道路,每条道路有需要消耗的时间以及过路费,同时还要顺路做食盐生意,起初身上没有食盐,最多带B袋盐,每到达一个地方有三种操作可以选择:1.售出一袋食盐;2:购买一袋食盐;3:什么都不做。然后你以为结束了?不!它还存在平行宇宙,在一个城市可以选择穿越平行宇宙到达另一个宇宙的这个城市,不同宇宙的食盐价格不同原创 2014-08-04 16:23:06 · 1373 阅读 · 0 评论 -
POJ-3036 Honeycomb Walk 简单DP
蜂巢每一格为正六边形结构,所以蜜蜂每次有6个方向可以走,原创 2014-08-04 19:50:52 · 840 阅读 · 0 评论 -
HDU-4901 The Romantic Hero DP
首先吐槽一下这个神一样的题目前缀,特么一直在强调萝莉控是闹哪样啊喂原创 2014-07-31 20:54:31 · 523 阅读 · 0 评论 -
琦神教我学DP2---POJ-1185 炮兵布阵 状压DP
这道题目和前面的题目很像,不过条件g原创 2014-08-02 09:51:55 · 735 阅读 · 0 评论 -
2018深信服笔试-抓兔子 DP
第一反应是枚举兔子起点+DFS,不过同学说过不了。dp的思路是:第i天第j个洞是否可能存在兔子,当天被访问的洞标位0,其余能到的洞为1,最后一天如果全是0的就一定能捉到dp[i][j]==1 ==> dp[i+1][j-1]=1 dp[i+1][j+1]=1(需特判边界)且可以优化至一维滚动数组(懒,用的二维)#include <iostream>#include <cs...原创 2018-06-25 16:02:28 · 2891 阅读 · 0 评论