摘要: java提交注意package#pragma comment(linker, "/STACK:1024000000,1024000000")kmpvoid Next(int n){ int j=0,k=-1; next[0]=-1; while(j=n)return i-n; else return -1;}快速读入/* 可以负数,不能小数*/inline void inp( int &n ){ n=0; int ch=getchar_unlocked(),sign=1; while( ch '9' ){if(ch=='-')sign 阅读全文
posted @ 2014-02-17 15:12 czjxy881 阅读(122) 评论(0) 推荐(0) 编辑
摘要: 水题,贪心,dp都随意 1 /* 2 author:jxy 3 lang:C/C++ 4 university:China,Xidian University 5 **If you need to reprint,please indicate the source** 6 */ 7 #include 8 #include 9 #include 10 #include 11 #include 12 using namespace std;13 int dp[10005];14 void pre()//dp用15 {16 memset(dp,123,sizeof(dp));17 ... 阅读全文
posted @ 2014-01-30 17:28 czjxy881 阅读(140) 评论(0) 推荐(0) 编辑
摘要: 题意 有一块\(x*y\)的巧克力,问能否恰好分成n块,每块个数如下输入格式 n x ya1 a2 a3 ... an首先\(x \times y 必然要等于 \sum\limits_{i=1}^{n}a_i\)设集合状态为S,则转移方程为 \(f(x,y,S)=(f(x,c_0,S_0)\&\& f(x,y-c_0,S_1))\|(f(c_0,y,S_0)\&\& f(x-c_0,y,S_1))\) 分别对应横着掰和竖着掰由于 \(x \times y= \sum\limits_{i=1}^{n}a_i\) 故可以简化为f(x,S) x为min(x,y) 1 阅读全文
posted @ 2014-01-30 16:41 czjxy881 阅读(207) 评论(0) 推荐(0) 编辑
摘要: 题意 一个扫地机器人要按顺序收集所有垃圾,求最小步数 组数T 机器人容量 Cap 垃圾数目 n 垃圾坐标和重量 x y c转移方程 \( d(i)=min\{d(j)+dis2org(j+1)+dis(j+1,i)|j 8 #include 9 #include 10 #include 11 #include 12 using namespace std;13 int Cap,n;14 int dis2org[100005]; //到原点距离15 int dis[100005],cap[100005];//从0到i的距离16 int abs(int x){return x>0?x:-x; 阅读全文
posted @ 2014-01-30 10:55 czjxy881 阅读(259) 评论(0) 推荐(0) 编辑
摘要: 题意: 有n个节点,m条边,无向无环图,求最少点覆盖,并且在同样点数下保证被覆盖两次的变最多分析:1.统一化目标,本题需要优化目标有两个,一个最小灯数a,一个最大双覆盖边数b,一大一小,应该归一成,a及单覆盖边数c,\( x=Ma+c \) 为最小化目标,\( M>\Delta c \)2.决策分析,只有两种放灯与不放,如不放灯则需要父节点必须放灯,故需要父节点状态,设\( f(i,j)\)为节点i在父节点状态为j时的最小x值,j为0代表不放灯,j为1代表放 \begin{cases} sum\{d(k,0)|k为i所有子节点\}+(i为根节点?0:1)&,i不放灯\\ sum\ 阅读全文
posted @ 2014-01-29 01:23 czjxy881 阅读(190) 评论(0) 推荐(0) 编辑