随笔分类 -  二分&哈希

摘要:解题思路看了官方的思路,就是前缀和的思想,做题时也想到了用前缀和,但没想到怎么才能提高效率,一点一点进步吧做完后,各种失误,各种wa,经过n个时间的查错,终于ac啦#include <iostream> #include <cstdio> using namespace std; const int maxn=100000+3; int s[maxn][35]; int a[maxn][35]; int head[maxn],nexvt[maxn]; int n,k; int main() { while(~scanf("%d%d",&n,& 阅读全文
posted @ 2013-03-16 11:05 LJ_COME!!!!! 阅读(269) 评论(0) 推荐(0)
摘要:无限感慨啊,这道题半年前就做过,无限wa就放弃了,今天又重做这题,依旧没变无限wa,只不过这次敲了20分钟就完了,代码也简洁了,哈希函数直接自己构造的,比之前熟练了,然后检查,历经一个小时之后,才发现把'eh'当成了'en',改后ac,300ms,然后再翻出之前的代码,果然是同样的错误,回想起半年前的那一整个下午,真是欲哭无泪啊#include <iostream>#include <cstdio>#include <cstring>using namespace std;const int maxn=100000+3;int 阅读全文
posted @ 2013-03-13 21:23 LJ_COME!!!!! 阅读(105) 评论(0) 推荐(0)
摘要:哈希我太屎啦,以后一定不能再犯写while循环忘了更改循环条件的错误,导致浪费这么长时间来调试#include <iostream> #include <cstdio> using namespace std; const int mod=10000003; const int maxn=4100; struct { int data,sum,next; }node[maxn*maxn]; int head[mod],f[4][maxn],num; void insert(int p) { int k=(p%mod+mod)%mod; int i=head[k]; wh 阅读全文
posted @ 2012-12-24 17:20 LJ_COME!!!!! 阅读(95) 评论(0) 推荐(0)
摘要:二分#include <iostream> using namespace std; const int maxn=5010; int Ui[maxn],Li[maxn],dx[maxn],dy; int amount[maxn]; int m,n,x1,y1,x2,y2; int bsearch(int xj,int yj) { int low=-1,high=m,mid; while(high-low>1) { mid=(high+low)/2; if((dy*(xj-Ui[mid])-dx[mid]*(yj-y1))<0) high=mid; else lo... 阅读全文
posted @ 2012-09-22 16:00 LJ_COME!!!!! 阅读(91) 评论(0) 推荐(0)