摘要:
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1158很不错的一道题,可是一开始没看出来。。。刷的题不够多!!!View Code 1 #include<iostream> 2 #include<algorithm> 3 const int inf=1e9; 4 const int N=14; 5 using namespace std; 6 int num[N]; 7 int dp[N][111];//dp[i][j]表示前i个月(包括第i个月)招了j个员工的最小花费 8 9 10 int main(){11 int n 阅读全文
摘要:
今天学了求最长递增子序列的O(n*log(n))算法。。。View Code 1 /* 2 【问题描述】 3 PALMIA国家被一条河流分成南北两岸,南北两岸上各有N个村庄。北岸的每一个村庄有一个唯一的朋友在南岸,且他们的朋友村庄彼此不同。 4 每一对朋友村庄想要一条船来连接他们,他们向政府提出申请以获得批准。由于河面上常常有雾,政府决定禁止船只航线相交(如果相交,则很可能导致碰船)。 5 你的任务是编写一个程序,帮助政府官员决定批准哪些船只航线,使得不相交的航线数目最大。 6 */ 7 /* 8 测试样例: 9 30 410 711 22 412 2 613 10 314 15 1215 . 阅读全文
摘要:
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1025经典题。。。最长非递减序列的n*log(n)求法。。。orz...View Code 1 #include<iostream> 2 const int N=500007; 3 using namespace std; 4 int city[N]; 5 int dp[N];//dp[i]保存的是长度为i的最长不降子序列的最小尾元素 6 7 //二分查找返回num在dp中的位置 8 int Search(int dp[],int len,int num){ 9 int low=1,hi 阅读全文