自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

muxi@Achilles的专栏

Android TV apk维护开发者...

  • 博客(54)
  • 资源 (1)
  • 收藏
  • 关注

原创 POJ2773 HAPPY 2006(不能对LL大方之战)

题目大意:就是求m的第k个(升序)与m互质的数。思路:看了discuss才知道欧拉函数 的一个性质可以解决这道题:就是如果在[1,m]之间有cnt个数和m互质,即欧拉函数为cnt,那么在[n*m+1,(n+1)*m](n为正整数)区间内的欧拉函数也为cnt,即是有循环节。这就好办了,循环节最大才为100万,那么找到k/cnt这个区间,就可以枚举求得第K个数了。不过我写的实在很猥琐,1670ms

2012-09-30 16:23:31 1614

原创 POJ2749 Sum of Consecutive Prime Numbers

题目大意:求出一个数可以有几个连续的素数和组成。思路:水题~~~不过有一点要注意~~10000内的素数最多有1300个,所以即使不用在线打表穷举都无压力,只是10^6执行次数而已。但是如果此题改为n<=10^5也许会再卡掉一些人,10万内素数个数为9900个左右,即差不多10^4个,在穷举的O(n)算法中应该会TIE,所以,在线打表更为理想,虽然耗时多了30ms。AC program:

2012-09-30 11:21:08 747

原创 POJ2478 Farey Sequence

题目大意:求1~n区间欧拉函数的个数。思路:直接欧拉函数的递推式的模板撸过~~做了这道题~~从此不再相信C++编译器了~~尼玛坑爹啊~~这道题~~C++RE,G++轻松撸过~~关于欧拉函数的递推关系:假设素数p能整除n,那么如果p还能整除n / p, PHI(n) = PHI(n / p) * p;如果p不能整除n / p, PHI(n) = PHI(n / p) * (p -

2012-09-28 17:26:52 872

转载 JAVA 笔记

原来的JAVA没学好啊~~惭愧~~囧。。11月30日1.JAVA安装java_home:java安装路径 jdkpath:JAVA编译解释路径  jdk/binclasspath:类路径  .;jre/lib2.helloworld d:  cd  编译:javac helloworld.java 解释:java helloworld3.在src中建公文包,

2012-09-28 15:01:09 17490

原创 POJ2042 Lagrange's Four-Square Theorem

题目大意:拉格朗日定理:每个自然数均可以表示成4个正整数的平方数之和。下面这一句,不知所云:3个平方数之和不能表示形式如4^k(8n+ 7)的数。 如果在一个正整数的因数分解式中,没有一个数有形式如4k+3的质数次方,该正整数可以表示成两个平方数之和。   思路:暴力枚举,但是不必为每个n来验证,而是让四个数滚动起来,只要小于2^15的就可以保存并在此基础上统计个数,然后打个表~~撸过~~

2012-09-28 11:11:49 1477

原创 POJ1284 Primitive Roots

题目大意:原根模板题&&欧拉函数模板题,求出模P的原根;思路:首先根据定理:模m有原根的充要条件:m=1,2,4,p^n,2p^n,其中p是奇素数。如果模m有原根的话,原根的个数是:φ(φ(m))在此题,p直接给出是奇素数,那就简单了直接:φ(p-1)撸过去~~就转化成欧拉函数的模板题了   附上理论(来自百度百科): 原根的定义  原根Primitive Root。

2012-09-27 21:59:06 1058

原创 欧拉函数 模板题 POJ2407 Relatives

题目大意&&思路:φ(n)是积性函数,所以n=P1^k1*……*Pn^kN(素数因子分解)所以:φ(n)=φ(P1^k1)*……*φ(Pn^kN)而对于φ(P1^k1),原式等于:P1^k-P1^(k-1),即是(P1-1)*P1^(k-1);在此题目中,因子的次数不会大于31,所以直接POW函数就可以解决问题 AC program: #include #include

2012-09-27 17:55:08 835

原创 POJ1845 Sumdiv

题目大意:就是求S(A^B)%9901,S函数表示A^B的因子和。其实一开始我想到杭电的1452的happy 2004.就是用逆元的做法,后来跪了~~因为P-1不一定和9901互质啊~~所以求逆元的定理要求不满足,所以在这种情况下不能用逆元的做法来做。只能用等比数列的二分法来做。首先是求出A的素因子:P1^k1 *  P2^k2   *   P3^k3  *  P4^k4  *……  *

2012-09-27 16:16:49 707

原创 《数论》3.6习题3------求一元线性同余方程所有解(不是方程组)基础练习例子&&求逆元

且当做模板:program:#include#include#include#include#includeusing namespace std;//求6789783*x≡2474010 (mod28927591)的所有解//即是:ax≡b(mod m)的所有解int ans[1000000];void exgcd(int a,int b,int &d,int &x

2012-09-26 12:02:27 1601

原创 HDU1788 Chinese remainder theorem again

题目大意:开始还真准备用同余线性方程组做了,后来仔细一看~~哟~~可以优化~~哈。思路:因为N%M1=M1-aN%M2=M2-aN%M3=M3-a即:N%Mi=Mi-a,所以 N%Mi+a=Mi,所以N+a和0同余于Mi(i=1,2,3……),特别要记住:能够化成和0同余的一定要变式,因为这样简单多了,完全转化为求Mi的最小公倍数,即是:N+a=  (Mi的最小公倍数)

2012-09-26 11:03:05 735

原创 POJ1006 Biorhythms

题目大意:求出三个生理期的共同日思路:即是X%23=0(从第零天开始的)X%28=0X%33=0但是又因为:p%23=0,e%28=0,i%33=0;所以X=p+23*y1  (yi是整数)X=e+28*y2X=i+33*y3    所以X和p同余于23,X和e同余于28,X和i同余于33;又因为23、28、33互质;所以用处理   符合定理使用条件

2012-09-26 09:25:42 753

原创 暑期多校联合第一场 H题 俄罗斯方块 (整理暑期题目系列)

Problem H. 俄罗斯方块                             Time Limit: 6000ms Memory Limit: 65536kbDescription现在给你一些俄罗斯方块游戏中的小方块,你需要求出用它们拼出一个N M 的矩形的方法有多少种。在这里,方块不能重叠,方块不一定要用完,每种方块只能旋转0/90/180/270 度,不能翻转。方

2012-09-25 22:49:15 1105

原创 HDU1003 MAX SUM

题目大意:经典的最大连续子序列和思路:本来是今天开始学点DP的,但是就是一些经典DP例子还是要先掌握啊~~不过学长说这道题如果认真的用DP来解释的话算是很难的题目的~~是不是我就很难考证了~~不过我反正知道~~如果不是提前有思路的话~~我相信没几个人会把这道题当做水题~~有了思路~~就水过了~~因为DP的编码一向都是很简洁的~~只不过我的编码能力还是暴虐全场啊~~只不过是被题目虐的那一种啊~~

2012-09-24 17:26:19 547

转载 黑书DP专辑

pagesectionnotitlesubmit1131.5.1例题1括号序列POJ11411161.5.1例题2棋盘分割POJ11911171.5.1例题3决斗Sicily18221171.5.1

2012-09-24 09:30:24 2251

原创 POJ2891 Strange Way to Express Integers

题目大意&&思路:m≡r1+a1*y1            m≡r2+a2*y2  ……m≡ri+ai*yiai之间不互素,所以不是中国剩余定理,而是线性同余方程,直接模板。AC program: #include#include#include#include#includeusing namespace std;typedef __int64 LL

2012-09-23 10:42:03 740

原创 POJ2115 C Looooops

题目大意&&思路:B-A=C*x-2^k*y  扩展欧几里德好久没一血了。感懂~~~呜呜。AC program:#include#include#include#include#includeusing namespace std; __int64 exgcd(__int64 a,__int64 b,__int64 &x, __int64 &y ){ __i

2012-09-22 23:04:32 716

原创 nefu 84 五指山 (扩展欧几里得)

五指山Time Limit 1000msMemory Limit 65536Kdescription西游记中孙吾空大闹天宫,如来佛祖前来降伏他,说道:“我与你打个赌赛;你若有本事,一筋斗打出我这右手掌中,算你赢,再不用动刀兵苦争战,就请玉帝到西方居住,把天宫让你;若不能打出手掌,你还

2012-09-22 22:24:24 884

转载 The 37th ACM/ICPC Asia Regional JinHua Site Online Contest - D(爆搜)

来自ZZY的博客:http://blog.csdn.net/kk303/article/details/8008058 D - A very hard Aoshu problem     数据范围很小呃... 暴力搜索即可...枚举等号的位置...再DFS得出左边的值..再DFS找右边有多少种方案可以等于左边的加法值...Program:[cpp] vi

2012-09-22 20:47:13 1132

原创 POJ1061 青蛙的约会

现在才AC这道题,无限囧。。记得老早就看过这道题题目大意:青蛙A的出发点为x,青蛙B的出发点为y,A跳一次m米,B跳一次n米。所在的纬度线(一圈)为L;思路:扩展欧几里得的入门题:(1)、两者相遇的条件:x+mt-y-nt=pL(n-m)t+Lp=x-y;即是:at+bp=x-y求出最小的t所以先要求出gcd(a,b);即是:exgcd(n-m,L,ar,br);/

2012-09-22 17:26:39 550

原创 nefu 117 大数素数个数的位数

素数个数的位数Time Limit 1000msMemory Limit 65536Kdescription小明是一个聪明的孩子,对数论有着很浓烈的兴趣。他发现求1到正整数10n 之间有多少个素数是一个很难的问题,该问题的难以决定于n 值的大小。现在的问题是,告诉你n的值,让你帮助小

2012-09-22 13:23:16 1145

原创 POJ3292 Semi-prime H-numbers

题目大意: H-numbers是4*n+1的数,H-primes是1*H-numbers,H-semi-primes是仅仅2个H-primes的数的乘积,然后问1~h(h是 H-numbers)里面有几个H-semi-primes。思路:题目说的通俗的就是:给出一堆H数,然后HP数的就像素数的定义(姑且称为H素数),然后HSP数就是2个HP数的乘积,也就是找出2个H素数,他们的乘积就是我们要的

2012-09-22 10:00:45 731

原创 POJ2187 Beauty Contest(旋转卡壳)

题目大意:凸包最远点对思路:模板套,初写很粗糙。好几个相同函数拼凑成的,写的很丑陋。。program:#include#include #include#include  #include  using namespace std;   struct point  {     int x,y;  }p[50005],res[50005];

2012-09-21 12:27:48 558

原创 更新凸包模板

#include#include #include#include  #include  using namespace std;//此凸包作用:逆时针输出凸包顶点,凸包边上的点不输出//(要全部输出边上的点的话,暂时没想到咋办,囧)   struct point  {   int x,y;  }p[105],res[105];   double D

2012-09-21 10:33:42 674

原创 9-20队内练习赛 G题 Convex Hull of Lattice Points (来自HDU 3285原题)

题目大意:赤裸裸的凸包,有几处变动:基点为最上左的点、顺时针输出凸包顶点(本题最关键处理点:在凸包边上的不输出,只按顺时针 输出顶点)、整形坐标思路:关键点是把在凸包边上的点弹出,所以有以下几个关键步骤:极坐标排序的时候:共线时选最短距离的点优先;top从1开始,所以当然while中top要验证是正数下面举一个9个点的例子:开始之前先说明:图中的点排序后我就用字典序表明顺序了在

2012-09-20 19:53:03 18362

原创 POJ2635 The Embarrassed Cryptographer (同余)

题目大意:给出一个大数K思路:大数取余。为了避免TIE使用了1000进制。因为只是一次运算所以不必逆置数组。说实在的,10进制想不通为什么会TIE啊~~囧~~求大牛指教啊~~现在的计算机1s不是已经能处理10^8的执行次数了吗?10进制一个100W的素数就只是n*logn的算法就只是2*10^7次执行次数嘛~~下面的枚举素数的时候,n*m的算法嘛~~100w内的素数个数只有78498个嘛~~就

2012-09-19 17:08:36 1040

原创 POJ3122 pie

题目大意:就是给出n个馅饼,f个party朋友,问分给每个人多少面积的馅饼,才使得f+1(包括party主人----我)个人得到的馅饼面积最大。分割的规则是:每个人得到的馅饼仅来自一个馅饼。这也就是说不是一般的总和再平均的问题。思路:呜呜~~小增的第一道统计二分啊~~惭愧~~本题二分的上限是最大的馅饼的半径的平方(我是用馅饼的半径的平方处理的)。还是说一下为什么用二分吧,因为分馅饼是一个实数问

2012-09-18 20:12:41 695

原创 扩展Euclid小小总结

前面我们说过,gcd(a,b)可以表示为a和b的最小的正线性组合。现在我们就要求这个最小的正线性组合ax+by中的x和y。这个可以利用我们的Euclid算法。从最简单的情况开始。当b=0时,我们取x=1,y=0。当b≠0时呢?假设gcd(a,b)=d,则gcd(b,a mod b)=d。若我们已经求出了gcd(b,a mod b)的线性组合表示bx'+(a mod b)y',则gcd(

2012-09-18 11:47:36 926

原创 暑期9_15队内练习赛 B题 大数取模+矩阵快速幂

题目大意:求sin(n!*ln(n)*f[n]%2012)的结果,n思路:哎~~菜菜菜啊~~却不是我的菜~~n!至少到2012都不用求后面的啦~~因为取余都为0了~~我还在傻乎乎的用矩阵求快速幂·~呜呜~~菜菜菜啊~~AC program:(暴力无优化代码:没有优化2012后都为0的情况)#include#include#include#include#includeus

2012-09-16 17:33:18 18404

原创 递归基础认识 从快速幂开始

我这个菜鸟真的弱爆了~~弱爆了~~以前竟然在写着超级垃圾的快速幂,彻底服了自己~~无语~~实在无语program1(弱智快速幂取模)图1:猴子爬下去:图2:猴子很老实滴爬回来#includeusing namespace std;//求2^N%2012 int fn(int n) { if(n==1)return 2; else { if(n

2012-09-16 10:05:54 809

原创 POJ2769 Reduced ID Numbers

题目大意:就是求出最小的m使得n个数对m取余的结果都是不同的思路:枚举!枚举!暴力暴力!坑嗲啊,做得想哭了,尼玛的就只是memset了100W的数就TIE了,尼玛的以后memset哥不用了,靠~~不过后来头脑清醒了回来,memset的数必定是不会那么大的。只是我的随意一开,就无限TIE道哭~~呜呜~~。以后不能那么大方了~~大方死人的额~~program: #include#i

2012-09-15 20:14:16 665

原创 暑期第一次多校联合赛 I题 数学题

Problem I. 数学Time Limit: 1000ms Memory Limit: 65536kbDescription给出数列A1;A2; : : : ;AN,并设Bi =  (A1 * A2 *  AN /Ai  )  mod (109 + 7)现要求把所有的Bi 算出来。Input输入包含多组测试数据。对于每组数据,第1 行,1 个整数N(1 

2012-09-14 17:20:10 1223

原创 暑期ACM队内练习赛 H题 数字游戏

H 数字游戏给你一个N位数,从中去掉K个数字,能得到的最大的数是多少?INPUT 有T测试数据,每组测试数据第一行由N和K2个整数组成(1 ≤ K ≤ 500 000),第二行是N位数(非0开头)。 OUTPUT 对每组数据输出去掉K个数字得到的最大数。 SAMPLE TESTS INOUT34 2 19247

2012-09-14 11:41:30 18228

原创 POJ 1423 Big Number

题目大意:求n!的结果的位数n思路:首先要求一个数字有多少位,可以用(int)log10(num)+1,这样就求出num有多少位哎用log10()函数的结果最后要+1~因为运算的时候有精度缺失~不是很懂~~怪不得我之前都没得结果,只能先记一下了。囧。。更坑爹的是:要不是我在线打表的话,铁定无限TIE~~~囧。。program1:(在线打表)#include#includ

2012-09-12 20:46:10 579

原创 求1000以内的阶乘 组合数学基础练习例子(二)

program:(模拟)#includeusing namespace std;int f[3000]; int main(){int n; while (cin>>n){ memset(f,0,sizeof(f)); f[0]=1; for(int i=2;i<=n;i++) { int c=0; for(int

2012-09-12 18:05:26 734

原创 POJ2503 Babelfish

题目大意:给出英语 --- A国语言 ,然后输入A国语言单词,问在字典内是否有该单词,有就输出该单词英文,无则输出eh;思路:典型的先保存再查找,有好几种解法,我用得是hash,但是再用链表的时候无限WA啊,也不知道是那个字符串哈希有问题还是链表出了问题,求强力数据找BUG啊 AC program:(数组哈希) #include#include#include#inc

2012-09-10 22:14:42 679

转载 The 37th ACM/ICPC Asia Regional Tianjin Site Online Contest - A.B.J

A  手动打表做出映射关系...然后八进制转十进制..Program:[cpp] view plaincopyprint?#include #include  #include #include  #include  #include  #include  #include  #define ll long long #defin

2012-09-09 22:01:31 2174 3

转载 2012 ACM/ICPC Asia Regional Tianjin 1010 Intelligent IME

1010. Intelligent IMEDescriptionWe all use cell phone today. And we must be familiar with the intelligent Englishinput method on the cell phone. To be specific, the number buttons may correspond

2012-09-09 21:38:39 1486

原创 POJ 2533 Longest Ordered Subsequence (LOS)

题目大意:求最长升序子序列思路:经典DP,虽然简易,但是没有学长上课时的思想的话,估计做的很艰难~~囧。。状态方程:dp[t] = Max{dp[i] + 1} (a[t] > a[i] && 0  AC program:#includeusing namespace std;int mm[1005]; int ll[1005]; int main(){int n;

2012-09-08 20:50:27 537

原创 HDU1159 Common Subsequence (LCS)

题目大意:最长公共子序列思路:经典DP题目,状态方程:dp[i][k]=          (1)   0  ,当i或者k为0时;   (2)  dp[i-1][k-1]+1   当X[i]==Y[k]时。    (3)max{  dp[i-1][k]   ,      dp[i][k-1]  },当X[i]  != Y[i]时AC program:#includeusing

2012-09-08 10:39:08 539

转载 判断点在多边形内还是外

判断点在多边形内部还是外部是一个基础但很重要的算法。下面介绍两种方法:一:射线法:从点P向左作水平射线,如果P在多边形内部,那么这条射线与多边形的交点必为奇数;                                           如果P在多边形外部,则交点个数必为偶数(0 included)。顺序考虑多边形的每条边,便可求出交点总个数,O(n)。对于边PQ

2012-09-05 20:49:26 1208

新闻发布系统课程设计

Asp.net的三层架构,通俗易懂,c#语言,特别适合学生入门..

2013-01-13

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除