摘要: 1001 小Q系列故事——屌丝的逆袭Time Limit:0.1Seconds Memory Limit:65536K毕业于普通本科的小Q一直自称是资深屌丝,不仅学校不知名,甚至他自己在这个普通学校也是默默无闻——直到临近毕业的时候,班里5朵金花中的2位甚至从没和他说过话!谁又能想到,如此不起眼的小Q在历经重重面试环节后,竟然如愿以偿加入了心仪已久的腾讯公司!消息刚刚传开的那几天,这在他们班甚至整个学院都是讨论的热门话题,如果这时候你还表示不知道小Q是谁,你都会被大家当作怪物的。正所谓野百合也有春天,屌丝也有逆袭的那一天!刚到腾讯大厦上班的那几天,小Q眼中的一切都是那么新鲜,连每天见到的前台M 阅读全文
posted @ 2013-03-21 20:42 简洁是智慧的灵魂 阅读(167) 评论(0) 推荐(0)
摘要: const int MAX = 100000001;const int SQRT =sqrt(MAX);bool prime[MAX] = {1,1};int arr[MAX], len = 0;求素数:void set_prime() { int i, j; for (i = 2; i #include using namespace std; const int MAX = 100000001; const int SQRT =sqrt(MAX); bool prime[MAX] = {1,1}; int arr[MAX], len = 0; void set_prime() ... 阅读全文
posted @ 2013-03-21 16:50 简洁是智慧的灵魂 阅读(178) 评论(0) 推荐(0)
摘要: Prepared for New Acmerhttp://acm.hdu.edu.cn/showproblem.php?pid=1420蒙哥马利幂模思想:在幂模运算中,通常是用幂模运算转换为乘模运算。有以下两个公式:1)a*b%n=(a%n)*(b%n)%n2)(a+b)%n=(a%n+b%n)%n当我们计算D=C^15%N时,有:C1=C*C%N=C^2%NC2=C1*C%N=C^3%NC3=C2*C2%N=C^6%NC4=C3*C%N=C^7%NC5=C4*C4%N=C^14%NC6=C5*C%N=C^15%N所以,幂模运算可以转化为乘模运算。继续看,我们会发现,要求D=C^E%N,要知道 阅读全文
posted @ 2013-03-21 15:18 简洁是智慧的灵魂 阅读(625) 评论(0) 推荐(0)
摘要: A. Cows and Primitive Rootstime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputThe cows have just learned what a primitive root is! Given a primep, a primitive rootis an integerx(1 ≤ x #include #include #include #include #include #include usi... 阅读全文
posted @ 2013-03-18 19:19 简洁是智慧的灵魂 阅读(209) 评论(0) 推荐(0)
摘要: B.Painting Eggs题目大意是:J画了n个鸡蛋,分别可以买给A 和G,对于每个鸡蛋A 和G的出价都不同,但是要求,最后卖给A 和G 两人鸡蛋的差价不超过500;/* 题目很水,当时没看懂,所以没做出来,导致又扣了57分;o(︶︿︶)o 唉 要是每次的题目都是中文题就好了,这也应该是很多做codeforces 的中国学生的期待吧; 英语这块软肋怎么办呢。。。*/贪心:#include #include #include #include #include #include #include #define maxn 1000010 char str[maxn]; ... 阅读全文
posted @ 2013-03-14 17:09 简洁是智慧的灵魂 阅读(89) 评论(0) 推荐(0)
摘要: C. XOR and OR题目大意:有两个字符串,a和b;由0 和 1组成,保证不为空;变化规则,1。可以不变 2。从字符串中选择两个字符,两种操作xor 和or;(^ and ||);问是否能将两个字符串互相变化;通过xor 和or 的规则我们可以发现,01可以变为11,11可以变为01或者10,唯独不能变的就是从11变成00;所以,如果a或b其中一个只包含0不包含1,则无法转换,否则可以转换;(当然,如果a、b长度不一样,毫无疑问NO);开始写的代码比较繁琐,我一步一步精简了,思想没变;代码一:#define maxn 1000100 char a[maxn],b[maxn]; using 阅读全文
posted @ 2013-03-14 16:44 简洁是智慧的灵魂 阅读(120) 评论(0) 推荐(0)
摘要: 两个人如果都采用正确操作,那么面对非奇异局势,先拿者必胜;反之,则后拿者取胜。那么任给一个局势(a,b),怎样判断它是不是奇异局势呢?我们有如下公式: ak =[k(1+√5)/2],bk= ak + k (k=0,1,2,...n 方括号表示取整函数) 奇妙的是其中出现了黄金分割数(1+√5)/2 = 1.618...因此,由ak,bk组成的矩形近似为黄金矩形,由于2/(1+√5)=(√5-1)/2,可以先求出j=[a(√5-1)/2],若a=[j(1+√5)/2],那么a = aj,bj = aj + j,若不等于,那么a = aj+1,bj+1 = aj+1 + j + 1,若都不是,那 阅读全文
posted @ 2013-03-12 17:18 简洁是智慧的灵魂 阅读(135) 评论(0) 推荐(0)
摘要: /*HDU 2149 算是这三个题目中的典范;代码很简单,关键在于思想。。。*/HDU 2149 代码:#include using namespace std; int main() { int m,n; while(cin>>m>>n) { if(n>=m) { cout<<m; for(int i = m+1; i <= n; i++) cout<<" "<<i; cout<<endl; } else { if(m%(n+1)) { cout<<m%(n+1)<< 阅读全文
posted @ 2013-03-10 22:55 简洁是智慧的灵魂 阅读(136) 评论(0) 推荐(0)
摘要: http://acm.hdu.edu.cn/showproblem.php?pid=2199/* 二分查找;*/#include #include using namespace std; double fun(double x) { return 8*pow(x,4.0)+7*pow(x,3.0)+2*pow(x,2.0)+3*x+6; } double l,m,r,y; int main() { int t; scanf("%d",&t); while(t--) { scanf("%lf",&y); if(fu... 阅读全文
posted @ 2013-03-09 13:52 简洁是智慧的灵魂 阅读(196) 评论(0) 推荐(0)
摘要: http://acm.hdu.edu.cn/showproblem.php?pid=2203/*char* strstr(const char* a,constchar* b) 在a中寻找第一次出现b的位置如果出现,返回位置,如果不出现,返回空指针;利用这一特点,我们将s1字符串长度加长一部分(s2的长度),加长的内容为s1的前strlen(s2)个字符;最后用函数判断s2是否在s1中出现;over~~*/ #include #include #include #include #include #include #include #define maxn 1000... 阅读全文
posted @ 2013-03-08 13:37 简洁是智慧的灵魂 阅读(169) 评论(0) 推荐(0)