摘要://C++ sort函数的多重排序 #include <iostream> #include<algorithm> #include<string> using namespace std; typedef struct { string name; int age; int score; }Stu
阅读全文
posted @ 2014-03-15 09:40
|
||
03 2014 档案
摘要://C++ sort函数的多重排序 #include <iostream> #include<algorithm> #include<string> using namespace std; typedef struct { string name; int age; int score; }Stu
阅读全文
posted @ 2014-03-15 09:40
摘要:#include <stdio.h> #include<stdlib.h> //最大子序列和问题,动态规划,公式为d(n)=max{d(n-1),0}+A[i] typedef long long ll; ll number[1000001]; int n; ll d[1000001]={0}; l
阅读全文
posted @ 2014-03-14 17:27
摘要:题目给你了一个很大的n,然后让你去计算它的质因数。对N进行开方得到的是一个大约在32000左右的数,我们可以用埃氏筛法进行素数打表。对所有prime[i]<=sqrt(n),分别看prime[i]能否整除n,若能整除就用n/=prime[i]然后继续寻找即可。值得注意的是,当我们搜寻完素数表中的所有
阅读全文
posted @ 2014-03-10 21:32
摘要:这道题又一次更新了我的世界观与人生观Orz……最开始我是设计了一个O(n)的递推算法,本以为可以轻松AC没想到居然TLE了……然后搜了一下题解,才发现这道题要用矩阵的思想去做。 通过对题目的分析,我们可以得到矩阵递推公式如下: 将公式右边推至a1,a0即可得: 然后这个题的关键就转化成了求[p q;
阅读全文
posted @ 2014-03-08 17:41
摘要:说起这个题呢,就不得不提一种快速求解幂的算法——反复平方法,可以在O(logn)的复杂度完成求幂运算。具体思路我不说,巫泽俊大神翻译的《挑战程序设计竞赛》P123对此有详细描述。 但仅知道这个算法并不表示就能算出这道题,还需要一定的数学推理过程: N=a0+a1*k+a2*k^2+……an*k^n
阅读全文
posted @ 2014-03-04 22:54
摘要:这道题一旦想开,其实思想十分简单的。 首先考虑n为奇数的情况,不难知f(n)=f(n-1)。(只需要把n的所有拆分式-1即可……) 然后考虑n为偶数的情况,将拆分式划分为两种情况:一种是式子中带1的,把1从式子中去掉就可以得到f(n-1);一种是式子中不带1的,那么就把式子中的全部项除以2得到f(n
阅读全文
posted @ 2014-03-04 22:44
|
||