摘要: 题意:给定的一系列的排在整数轴上的村庄位置,然后找出P个村庄建立邮局;以使每个村庄到他最近的邮局的距离之和最小;解题思路:采用动态规划,详见注释 1 #include<iostream> 2 3 using namespace std; 4 5 int cost[301][301];//从村落i到村落j由一个邮局控制时的最短距离和 6 int a[31][301];//a[i][j]记录在前j个村庄中安排i个邮局的最短路径 7 8 int vel[301];//记录输入村庄的位置信息 9 10 int main()11 {12 int v,p;13 int i,j,k;1... 阅读全文
posted @ 2012-04-15 10:11 AndyDHG 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 经典的动态规划问题: 1 #include<iostream> 2 3 using namespace std; 4 5 int b[101][101]; 6 int d[101][101]; 7 int r,c; 8 9 10 int dp(int i,int j)11 {12 int max=0;13 14 if(d[i][j]!=0) 15 return d[i][j];16 17 //四个方向是否合适18 if(i-1>=0)19 {20 if(b[i-1][j]<b[i][j])21 {22... 阅读全文
posted @ 2012-04-13 12:11 AndyDHG 阅读(170) 评论(0) 推荐(0) 编辑
摘要: /**威佐夫博奕(Wythoff Game): 有两堆各若干个物品,两个人轮流从某一堆或同时从两 *堆中取同样多的物品,规定每次至少取一个,多者不限,最后取光者得胜.*(ak,bk)(ak ≤ bk ,k=0,1,2,...,n)表示两堆物品的数量,则*奇异局面(先手必败, P-Position) ak =[k(1+√5)/2], bk= ak + k (k=0,1,2,...,n 方括 *号表示取整函数)*/ 1 #include<iostream> 2 #include<cmath> 3 using namespace std; 4 5 int main() 6 { 阅读全文
posted @ 2012-04-13 10:10 AndyDHG 阅读(162) 评论(0) 推荐(0) 编辑
摘要: 1 public Form1() 2 { 3 InitializeComponent(); 4 strLogin = "123445556";//学校这个需要填学号 5 strPass = "******";//密码 6 string strLoginUrl = http://183.169.224.1/portal/logon.htm; //学校的认证网页 7 webBrowser1.Navigate(strLoginUrl)... 阅读全文
posted @ 2012-04-10 12:03 AndyDHG 阅读(519) 评论(0) 推荐(0) 编辑
摘要: 1 #include<stdlib.h> 2 #include<stdio.h> 3 int main() 4 { 5 //cmd为可执行文件绝对路径 6 char *cmd="C:\\Users\\Red\\Desktop\\GVimPortable\\GVimPortable.exe"; 7 system(cmd); 8 getchar(); 9 return 0; 10 } 阅读全文
posted @ 2012-04-06 19:32 AndyDHG 阅读(377) 评论(0) 推荐(0) 编辑
摘要: 搜索文件夹中以.exe结尾的文件,并删除之:本例文件夹名路径为:c:\mm 1 #include<stdio.h> 2 #include<string.h> 3 #include<stdlib.h> 4 #include<io.h> 5 #include <process.h> 6 #include <memory.h> 7 8 void SearchFile(const char *); 9 10 int main() 11 { 12 SearchFile("C:\\mm");13 printf(&q 阅读全文
posted @ 2012-04-06 19:29 AndyDHG 阅读(1024) 评论(0) 推荐(0) 编辑
摘要: 并查集 1 #include<iostream> 2 #include<cstdio> 3 using namespace std; 4 5 int f[50001];//,r[30001]; 6 int m,n; 7 void Init() 8 { 9 for(int i=1;i<=m;++i) f[i]=i;10 //memset(r,0,sizeof(r));11 }12 13 int father(int k)14 {15 if(k !=f[k])16 return father(f[k]);17 return f[k];18 }... 阅读全文
posted @ 2012-04-02 13:32 AndyDHG 阅读(147) 评论(0) 推荐(0) 编辑
摘要: 并查集 1 #include<iostream> 2 #include<cstring> 3 using namespace std; 4 5 int f[30001],r[30001]; 6 int m,n; 7 void Init() 8 { 9 for(int i=0;i<m;++i) f[i]=i;10 memset(r,0,sizeof(r));11 }12 13 int father(int k)14 {15 if(k !=f[k])16 return father(f[k]);17 return f[k];18 }19 20... 阅读全文
posted @ 2012-04-02 12:58 AndyDHG 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 思路:0.从源点向每个猪圈引一条边,容量为猪圈里的猪的数量。1. 对于每个猪圈的顾客,从该猪圈向他连一条边,容量为猪圈里的猪的数量。2. 对于每个猪圈,如果不是第一个顾客,则上一个打开这个猪圈的顾客向这个顾客连一条边,容量为 +∞。3. 每个顾客到汇点连一条边,容量为各个顾客能买的数量。 1 #include<iostream> 2 #include<map> 3 #include<string> 4 #include<queue> 5 using namespace std; 6 7 int c[1101][1101]; 8 int flow[ 阅读全文
posted @ 2012-04-02 10:12 AndyDHG 阅读(217) 评论(0) 推荐(0) 编辑
摘要: #include<iostream>#include<map>#include<string>#include<queue>using namespace std;int nReceptacle,nDevice,nType,flag,res,node;int arr[600][600];int pre[600];int flow[600][600];map<string,int> PR;void Init(){ int i,j;//u,v,w, char str1[25],str2[25]; //freopen("a.txt 阅读全文
posted @ 2012-04-02 09:02 AndyDHG 阅读(180) 评论(0) 推荐(0) 编辑