作者:Hawstein出处:http://hawstein.com/posts/dp-novice-to-advanced.html声明:本文采用以下协议进行授权:自由转载-非商用-非衍生-保持署名|Creative Commons BY-NC-ND 3.0,转载请注明作者及出处。前言本文翻译自To...
分类:
其他好文 时间:
2015-03-04 18:27:08
阅读次数:
159
题解:
gig_i 表示状态为i时随便连边时的方案个数
fif_i 表示状态为i时图是连通图的方案个数
gig_i好求,直接枚举一个里面的点aa,然后向外面某点bb连边得到 gi|(1b)g_{i|(1
然后我们可以在从gig_i中减去某些东西得到fif_i。
先确定一个小的连通块,状态为a,然后其它点的状态就是i^a
然后显然ga×fi xor ag_a\times f_{i\ xo...
分类:
其他好文 时间:
2015-03-04 17:07:23
阅读次数:
125
Problem Description
LL最近沉迷于AC不能自拔,每天寝室、机房两点一线。由于长时间坐在电脑边,缺乏运动。他决定充分利用每次从寝室到机房的时间,在校园里散散步。整个HDU校园呈方形布局,可划分为n*n个小方格,代表各个区域。例如LL居住的18号宿舍位于校园的西北角,即方格(1,1)代表的地方,而机房所在的第三实验楼处于东南端的(n,n)。因有多条路线可以选择,LL希望每次的...
分类:
编程语言 时间:
2015-03-04 09:56:08
阅读次数:
261
插头DP本题为CDQ《基于连通性状态压缩的动态规划的……(我忘了)》里的例题!(嗯就是这样……)先膜拜一下ccy大神……http://blog.sina.com.cn/s/blog_51cea4040100gmky.html在这里将我当初看插头DP的一些不解之处写出来,给大家提供一些参考: 以前我....
分类:
其他好文 时间:
2015-03-04 00:56:17
阅读次数:
163
Problem FLighting SystemDesignInput: StandardInputOutput: StandardOutput You are given the task to designa lighting system for a huge conference hall....
分类:
其他好文 时间:
2015-03-04 00:55:24
阅读次数:
149
抽象为数学模型就是, 取尽可能多的互不相交的子集 , 使得每一个子集都能覆盖全集
#include
#include
#include
using namespace std;
int n;
int P[1000],cover[1000],f[1000];
int main(){
scanf("%d", &n);
for (int i = 0; i < n;i+...
分类:
其他好文 时间:
2015-03-03 23:46:13
阅读次数:
522
题目描述:
辰辰是个很有潜能、天资聪颖的孩子,他的梦想是称为世界上最伟大的医师。
为此,他想拜附近最有威望的医师为师。医师为了判断他的资质,给他出了一个难题。
医师把他带到个到处都是草药的山洞里对他说:
“孩子,这个山洞里有一些不同的草药,采每一株都需要一些时间,每一株也有它自身的价值。
我会给你一段时间,在这段时间里,你可以采到一些草药。如果你是一个聪明的孩子,你应该可以让采到的草...
分类:
其他好文 时间:
2015-03-03 23:41:38
阅读次数:
204
最长回文子串动态规划的方法的参考Palindrome Partitioning (回文子串题)代码:class Solution {public: string longestPalindrome(string s) { int n=s.size(); int dp...
分类:
其他好文 时间:
2015-03-03 20:39:26
阅读次数:
105
题解:
首先一个点可以分裂成多个新点,这样就有了图上动规的基础。
即f[i]表示i点被消灭的最小代价,它可以由分裂出的点们更新。
但是这个东西有后效性,所以我们用SPFA来处理它。
spfa处理后效性动规
我们每更新一个点A的动规值,就会有若干个点的动规值可能被更新。
即可以分裂出点A的那些点。
于是A出队后一旦动规值被更新了,就把那些点入队。
初始时要把所有点入队,因为它们都可能...
分类:
其他好文 时间:
2015-03-03 18:37:03
阅读次数:
574
题目大意:多重背包
一大早就水了个题233
#include
#include
#include
#include
#define M 20200
using namespace std;
int n,k,b[220],c[220];
int f[M];
int main()
{
int i,j,k;
cin>>n;
for(i=1;i<=n;i++)
scanf("%d",...
分类:
其他好文 时间:
2015-03-03 08:38:14
阅读次数:
142