摘要: 更新...最后发现根本不用在循环中判断是否是素数, 因为先除的肯定是素数, 后面的以该素数的倍数组成的合数早就被除没了.....//新的build() 注意最后一位的处理void build(){ int sq = sqrt(ori); int i; for (i = 2;... 阅读全文
posted @ 2015-07-22 15:29 雨尘之林 阅读(472) 评论(0) 推荐(0)
摘要: 这个要把dp[i]的状态分成两类 第一类是以)结尾的, 第二类是以a结尾的.#include using namespace std;const int mod = 19301; unsigned long long dp[10000];int n;void build(){ dp[0]=1;... 阅读全文
posted @ 2015-07-22 15:18 雨尘之林 阅读(388) 评论(0) 推荐(0)
摘要: 这个DP要用状态分类下标的思想, 把dp[i]分成dp[i][0]和dp[i][1]来处理 0表示不翘课 1表示翘课, 这样可以更好的利用逻辑关系高精度就不放在这里了,只有核心代码int main(int argc, char const *argv[]){ int n; cin>>n;... 阅读全文
posted @ 2015-07-22 15:16 雨尘之林 阅读(375) 评论(0) 推荐(0)
摘要: 优先队列自动解决了动态排序问题,非常好用。。。#include #include #include #include using namespace std;int n;int seeds[10000];int presum[10000];priority_queue,greater > q;voi... 阅读全文
posted @ 2015-07-22 15:08 雨尘之林 阅读(455) 评论(0) 推荐(0)