- 博客(8)
- 收藏
- 关注
原创 最大和 NYOJ——104
给定一个由整数组成二维矩阵(r*c),现在需要找出它的一个子矩阵,使得这个子矩阵内的所有元素之和最大,并把这个子矩阵称为最大子矩阵。 这个问题就是最大值子区间和的二维问题。 最大子区间和是说给你一个数组,然后让你找一个连续的子区间,让这个区间的数的和最大。很经典的简单DP。题目可以参考这个链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=
2012-07-06 10:34:16
2321
原创 Curvy Little Bottles——ACM icpc 2012 word final problem B
ACM icpc 2012 word final第一水题,思路很简单,比较惊奇的是总决赛的出题思路,竟然会有积分题目,虽然这个题目关键不是积分,但是较之我们的区域赛等,明显的偏重于数学,不仅仅是数学知识,还有数学思维。 题意很简单,就是给你一个多项式p(x),一个下限,一个上限,然后这个多项式的曲线绕x轴旋转,会形成一个瓶子,先要计算出这个瓶子的总体积,然后给你一个v,从瓶子底部每v标记下,就是
2012-05-19 21:11:34
1480
原创 链接法解决hash解决碰撞之数组模拟方法
这个东西学了好几遍,都是学了忘,忘了学。终于下决心要弄明白它,搞明白之后为了防止再次忘了,特意制作了一个图片,一个图告诉你怎么用数组模拟链表解决hash解决碰撞。 作图,费了好大劲啊! 简要的说明下,图中的Key,Next,Hash分别对应的是,原数组即存值数组,数组模拟链表的关键next数组,hash之后的数组。next,hash数组存的内容都是key的下标! 图中展示的是把13,24,3
2012-04-12 21:52:36
968
原创 hduoj 4196 ——Remoteland
这是2011 Southwestern Europe Regional Contest Problems的一道题目,数论题。但关键点是程序的常数级优化。 【题目大意】:找一个数D,是一个平方数,且它是由 1000000007 思路倒是不难,我们对n!进行标准分解,如果幂次大于1,则保留偶次幂,奇次幂减去1,幂次小于1的直接break掉即可。比如4!=22*3则我们就只需保留22即可。此时结果就
2012-04-03 10:20:27
743
原创 dfs最简单的应用——输出全排列
#include int a[100]; bool p[100]; void dfs(int x,int n) { int i,j,k; if(x==n) { for(i=0;i<n;i++) printf("%d ",a[i]); printf("\n"); return; } for(i=1;i<=n;i++) if(p[i]==0) { p[i]=
2012-03-20 21:20:48
574
原创 miller-rabin素性判定
#include long long powerful(long long a,long long x,long long mod) { long long t=a,r=1; while(x) { if(x&1) r=r*t%mod; t=t*t%mod; x=x>>1; } return r; } bool MR(long long a,long long n) {
2012-03-19 17:46:46
788
1
原创 因子和
#include #include #define max 1000 bool prime[max]={1,1}; bool b[1005]={0,1}; int a[200]; void fun() { int i,j,m; m=sqrt(max+0.0001); for(i=2;i<m;i++) if(prime[i]==0) for(j=i*i;j<max;j+=i)
2012-03-17 21:59:11
349
原创 筛素数<一>
#include #include #include #define max 10000000 int prime[10000000]; bool flag[max]; void fun() { int i,j,k,l; l=sqrt(max+0.0); for(i=2;i<=l;i++) if(flag[i]==0) for(j=i*i;j<max;j+=i) fl
2012-03-15 15:14:08
267
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人