07 2013 档案

摘要:http://acm.hdu.edu.cn/showproblem.php?pid=1007上半年在人人上看到过这个题,当时就知道用分治但是没有仔细想...今年多校又出了这个...于是学习了一下平面内求最近点对的算法...算导上也给了详细的说明虽然一看就知道直接用分治O(nlogn)的算法 , 但是平面内最近点对的算法复杂度证明我看了一天也没有完全看明白...代码我已经做了一些优化...但肯定还能进一步优化..我是2s漂过的非常惭愧...(甚至优化以后时间还多了...不明白原因/********************* Template ************************/#i 阅读全文
posted @ 2013-07-31 20:42 Felix_F 阅读(199) 评论(0) 推荐(0)
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=2281又是一道Pell方程化简构造以后的Pell方程为求出其前15个解,但这些解不一定满足等式,判断后只有5个满足的情况,直接判断即可求法可以参照上一篇日志:http://www.cnblogs.com/Felix-F/p/3223323.htmlstruct matrix{ LL ma[2][2];};int n = 2;LL nn[20],xx[20];matrix operator * (matrix a,matrix b){ matrix temp; memset(temp.ma,0... 阅读全文
posted @ 2013-07-30 10:53 Felix_F 阅读(403) 评论(0) 推荐(0)
摘要:http://poj.org/problem?id=1320题意很简单,有序列 1,2,3...(a-1),a,(a+1)...b 要使以a为分界的 前缀和 和 后缀和 相等 求a,b因为序列很特殊所以我们用数学方法就可以解决 :求和: a*(a-1)/2 = (a+1+b)(b-a)/2化简: 2a2 = b2+ b两边乘4,构造完全平方项 (2b+1)2 -8a2 = 1令 x = 2*b+1; y = a;我们就得到了一个形如Pell方程x2- Dy2= 1的式子x2- 8y2= 1这题就是求Pell方程的第K个解 , 因为方程已经告诉你了所以我们可以目测出最小解以用来构造矩阵来求出.. 阅读全文
posted @ 2013-07-29 17:24 Felix_F 阅读(387) 评论(0) 推荐(0)
摘要:题目链接 : http://poj.org/problem?id=2427PELL方程几个学习的网址:http://mathworld.wolfram.com/PellEquation.html wolfram的讲解http://hi.baidu.com/aekdycoin/item/a45f7c37850e5b9db80c03d1 AC神的博客http://blog.csdn.net/acdreamers/article/details/8529686 acdreamer的博客 (从这里知道的思路...Pell方程 : 形如 X2 - D*Y2 = 1 的式子我们称作Pell方程 (D... 阅读全文
posted @ 2013-07-29 13:24 Felix_F 阅读(756) 评论(0) 推荐(0)
摘要:http://codeforces.com/contest/334A题意:1-n^2 平均分成 n 份,每份n个数,且和相同解法 : 构造矩阵1-n^2的矩阵即可int a[105][105];int main(){ int n; scanf("%d",&n); int k = n*n; int c = 1; for(int i = 0 ; i >p[i].x>>p[i].y; sort(p,p+8,cmp); for(int i = 0 ; i n且硬币数最多且这些硬币的子集不能>=n解法 : 贪心,如果非3的倍数一定是n/3+1 即全换成 阅读全文
posted @ 2013-07-28 10:48 Felix_F 阅读(365) 评论(0) 推荐(0)
摘要:连分数乱搞,我反正是一眼没看出结果某巨巨把这题讲解的比较详细 :http://blog.csdn.net/gogdizzy/article/details/8727386令k = [a/b] 然后对于a/b 1,那么最终结果p = q = 1 也显然的如果c/d d*p/c 所以 q = q * d / c + 1最后因为 p > q * a / b 所以p = q * a / b + 1LL dfs(LL a , LL b , LL c , LL d){ LL k = a/b; a = a-b*k; c = c-d*k; if(c > d) return 1; ret... 阅读全文
posted @ 2013-07-27 16:10 Felix_F 阅读(204) 评论(0) 推荐(0)
摘要:A:直接判断前三项是否相等 1 int main() 2 { 3 //FIN; 4 //CHEAT; 5 int n; 6 cin>>n; 7 getchar(); 8 char a[4005]; 9 gets(a);10 int len = strlen(a);11 int cnt = 0;12 for(int i = 0 ; i >n>>k;12 for(int i = 1 ; i >a[i];15 sum[i] = sum[i-1] + a[i];16 }17 int ... 阅读全文
posted @ 2013-07-26 00:01 Felix_F 阅读(365) 评论(1) 推荐(0)
摘要:大数乘法,暴力逐项乘后相加 O(n^2) 或者 用JAVA的BigInteger都超时这时候就要用到FFT了...多项式乘法,大数乘法都能在O(nlogn)时间内解决因为之前没有复变和数字信号课程的基础...所以今天看FFT异常的吃力...一个上午都在研究复数的概念看FFT的定义,下午的时候才开始看FFT的算法...晚上就学了一个别人的板...过了这个水题发现FFT完全就是模板,直接会用就行了...但是这里还是讲解一下原理:首先这个课件应该是最能解决概念性问题的:http://wenku.baidu.com/view/14457119de80d4d8d15a4f34.html然后就是kuang 阅读全文
posted @ 2013-07-25 09:26 Felix_F 阅读(292) 评论(0) 推荐(0)
摘要:暑假的知识计划(补充中...)1.数论相关 (7days) 待完成 多项式同余方程/高次同余方程/欧拉函数/克莱姆法则/高斯消元/莫比乌斯反演/伪素数判定/baby-step-gaint-step2.组合数学相关(7days) 待完成 容斥/生成排列组合/polya计数/b... 阅读全文
posted @ 2013-07-24 00:13 Felix_F 阅读(217) 评论(1) 推荐(0)
摘要:10W个点的一棵树,边权为1求访问K个点要走过的最小路程BFS求出一条最长路以后,我们可以YY出其他的边都要重复走两次树上的最长路可以从任意一点开始BFS求出这点的最大距离,再把终点设置为起点再做一次BFS所以就判断K和最长路间的距离就行了 O(n) 算法 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include 10 #include 11 #include 12 #include 13 #include 14... 阅读全文
posted @ 2013-07-23 22:41 Felix_F 阅读(296) 评论(0) 推荐(0)
摘要:Sublime Text 2 是很受ACMer喜爱的文本编辑器但是绿色版删除后无法设置为默认打开方式...而且网上也没有给出明确的解决办法注册表的解决办法:删除 HKEY_CURRENT_USER\Software\Classes\Applications下的Sublime_Text.exe项。你就发现可以设置为默认打开方式了添加右键关联:添加HKEY_CLASSES_ROOT\*\shell\用Sublime Text 打开\command ------------------没有的项就自己添加其中command默认键值设置为E:\SoftWare\Sublime Text 3\subl.. 阅读全文
posted @ 2013-07-23 22:09 Felix_F 阅读(5769) 评论(2) 推荐(3)