摘要: 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1251一开始我是直接用STL做的,唉。。。没有经验那。。。orz...然后毫无疑问地超时了。。。看别人blog说是字典树,说实话,第一次听到这个。。。就立马学了一下。。发现挺简单的。。。嘻嘻。。。View Code 1 #include 2 #include 3 const int N=26; 4 using namespace std; 5 struct Tire{ 6 int v; 7 Tire *next[N]; 8 }; 9 Tire *root;10 11 //创建字典树... 阅读全文
posted @ 2013-03-14 20:05 ihge2k 阅读(277) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1261思路:公式很好推,就是(n1+n2+n3+...nn)!/(n1!+n2!+...+nn!);然后毫无疑问要用到大数计算...发现用string,vector还是挺方便的。。。View Code 1 #include<iostream> 2 #include<vector> 3 #include<string> 4 #include<algorithm> 5 using namespace std; 6 int num[27]; 7 vector 阅读全文
posted @ 2013-03-14 16:21 ihge2k 阅读(581) 评论(1) 推荐(0) 编辑
摘要: 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4393思路:考虑Si最大只有100,所以我们可以建立优先队列数组s[1..100],对于每个优先队列,按第一关键字Fi第二关键字ID排序,每次取出所有的优先队列里最大值,然后直接 计算(Time-1)*Si + Fi 找最大的way,将对应的优先队列pop并输出对应ID即可。View Code 1 #include<iostream> 2 #include<queue> 3 const int N=110; 4 using namespace std; 5 6 struct 阅读全文
posted @ 2013-03-14 15:07 ihge2k 阅读(366) 评论(0) 推荐(0) 编辑