摘要: http://acm.hdu.edu.cn/showproblem.php?pid=4965利用相乘的可结合性先算B*A,得到6*6的矩阵,利用矩阵快速幂取模即可水过。 1 #include 2 #include 3 #include 4 #include 5 #define N 1010 6 #d... 阅读全文
posted @ 2014-08-22 11:04 执着追求的IT小小鸟 阅读(166) 评论(0) 推荐(0) 编辑
摘要: http://acm.hdu.edu.cn/showproblem.php?pid=1565思路:将横纵坐标和为偶尔染白色,其他染黑色,黑点连接源点,流量为该点的值,白点连接汇点,流量为该点的值,黑白点有相邻的就连边,值为无穷大。最后求最大流,即该图的最小割。PS:刚开始不明白为为什么最大流会等于最... 阅读全文
posted @ 2014-08-14 15:09 执着追求的IT小小鸟 阅读(280) 评论(0) 推荐(0) 编辑
摘要: http://acm.hdu.edu.cn/showproblem.php?pid=4289题目讲的是有一些恐怖分子要从S市去往D市,要求在一些城市中安排特工,保证一定能够抓住恐怖分子,因为安排特工需要一定的费用,所以希望找出最小的花费。思路:可以把每个城市,即每个点拆分成进来的点和出去的点,如x点... 阅读全文
posted @ 2014-08-13 11:33 执着追求的IT小小鸟 阅读(173) 评论(0) 推荐(0) 编辑
摘要: http://acm.hdu.edu.cn/showproblem.php?pid=3605题目很简单,要求的就是最后能搬到星球上去的人的个数。刚开始看到,知道是最大流,就把人和星球都设为点,能生存就连线,权值为1,最后建立超级源点和超级汇点。求出最大流量即可。先是RE,开大数组后TLE。仔细算了,... 阅读全文
posted @ 2014-08-09 16:14 执着追求的IT小小鸟 阅读(198) 评论(0) 推荐(0) 编辑
摘要: http://acm.hdu.edu.cn/showproblem.php?pid=4886思路是队友想出来的,代码我写。因为只有8个字母,容易证明答案只会在长度为8之内。长于8的因为可以用长度n+8得到,所以不存在。从长度1到8依次枚举所有原串中的子串,并将此串当成8进制存在哈希表中,每次枚举前都... 阅读全文
posted @ 2014-07-28 15:00 执着追求的IT小小鸟 阅读(223) 评论(0) 推荐(0) 编辑
摘要: 1 #include 2 #include 3 #include 4 #define maxn 1050//表示x集合和y集合中顶点的最大个数 5 int nx,ny;//x集合和y集合中顶点的个数 6 int edge[maxn][maxn];//edge[i][j]为1表示ij可以匹配 7 i... 阅读全文
posted @ 2014-04-24 20:37 执着追求的IT小小鸟 阅读(112) 评论(0) 推荐(0) 编辑
摘要: http://poj.org/problem?id=1469 1 #include 2 #include 3 #include 4 #define point_MAX 10000 5 #define edge_MAX 100000 6 using namespace std; 7 st... 阅读全文
posted @ 2014-04-23 20:42 执着追求的IT小小鸟 阅读(149) 评论(0) 推荐(0) 编辑
摘要: http://acm.hdu.edu.cn/showproblem.php?pid=1532使用网络流最大流中的DINIC算法解决 1 #include 2 #include 3 #define point_MAX 10000 4 #define edge_MAX 100000 5 #define ... 阅读全文
posted @ 2014-04-22 19:28 执着追求的IT小小鸟 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 1 #include 2 int phi[1000010]; 3 int prime[100000],len; 4 int euler() 5 { 6 int i,j; 7 len=0; 8 for(i=0;i<1000010;i++) 9 phi[i]=0;10 for(i=2;i<1000010;i++)11 {12 if(!phi[i])13 for(j=i+i;j<1000010;j+=i)14 {15 phi[j]=1;16 }17 ... 阅读全文
posted @ 2014-04-08 20:51 执着追求的IT小小鸟 阅读(118) 评论(0) 推荐(0) 编辑
摘要: 1 #include 2 #include 3 int main() 4 { 5 int t,n,i; 6 double sum,a,b,c; 7 a=0.434294481903; 8 b=0.798179868358; 9 scanf("%d",&t);10 while(t--)11 {12 scanf("%d",&n);13 c=log10(n);14 sum=1.0;15 if(n>3)16 sum=(c+b)/2+n*(c-a)+1;17 ... 阅读全文
posted @ 2014-04-08 20:33 执着追求的IT小小鸟 阅读(135) 评论(0) 推荐(0) 编辑