codeforces
数论只会GCD
研二在读
展开
-
Codeforces Round #368 (Div. 2) C
题目链接:CF 368 DIV2 C题意给定一个n(n>=1&&nAC code:#include#include#include#include#include#include#include#include#includeusing namespace std;#define LL __int64#define debug 0原创 2016-08-20 23:06:14 · 454 阅读 · 2 评论 -
Codeforces Round #419 (Div. 2)
A题题意: 给定一个时间,求下一个特定时间之前要睡的时间(回文串)顺序模拟下就可B题[x, y]染色, 差分数组: ++d[x], –d[y + 1]; d[i] = a[i] - [i - 1]; a[0] = 0;所以a[i]=∑ii=1d[i]a[i] = \sum_{i = 1}^i d[i] 前缀和: 令sum[i]为[1, n]中满足的个数 则sum[i]=∑ni=1(a[原创 2017-06-18 16:58:04 · 463 阅读 · 0 评论 -
codeforces 225E 梅森素数
题解: ACdreamer orz!code:#include <cstdio>#include <cstring>using namespace std;typedef long long ll;const ll p = 1e9 + 7;ll a[] ={0,2,3,5,7,13,17,19,31,61,89,107,127,521,607,1279,2203,2281,3217,4253原创 2017-05-07 16:43:26 · 688 阅读 · 0 评论 -
CF 350D 直线映射 + 差分
刚开始想的按圆半径排序, 按线段的x坐标较小的那个点排序, 二分缩小范围, 第12个case T了, 才意识到不是纯粹几何题.后来想到了斜率 + 截距映射直线, 然后要考虑映射是同一条直线的线段集合在以为空间上映射的点的次数, 其中还有斜率不存在情况, 只能想到树状数组, 没接触过差分. 然后这个这个映射 + 次数的预处理要用到不止一种stl, 觉得自己能力不足只能去看题解: 1. 预处理原创 2017-04-13 11:38:51 · 561 阅读 · 0 评论 -
CF - 61E - Enemy is weak(树状数组)
传送门:CF 61E题解: 和求二重组逆序对, 类似, 这个是在其基础上求三重逆序对 因为每个数不同, 求两个数逆序对之后, 对于f[i]总共有n - f[i]个比他大的数, 左边已求为l[i], 那么右边就是n - f[i] - l[i] = n - i -r[i] => r[i] = f[i] + r[i] - i; r[i]为右边比f[i]小的个数AC code:#include<原创 2016-11-20 22:15:38 · 558 阅读 · 0 评论 -
cf 749 A. Bachgold Problem
A. Bachgold Problem time limit per test1 second memory limit per test256 megabytes inputstandard input output原创 2016-12-26 19:29:57 · 659 阅读 · 0 评论 -
CF 742 B-Arpa’s obvious problem and Mehrdad’s terrible solution
传送门 : CF 742B题解 异或逆运算AC code:/*adrui's submissionLanguage : C++Result : AcceptedLover : zyyFavorite : Dragon BallsStanding in the Hall of Fame*/#include<iostream>#include<cstring>#include<cs原创 2016-12-22 17:46:51 · 464 阅读 · 0 评论 -
codeforces 742A-Arpa’s hard exam and Mehrdad’s naive cheat 快速幂
传送门 : CF 742A题解 直接做8的快速幂, 因为模数是10 用周期做也可以, 不过我优化不到0ms…AC code/*adrui's submission Language : C++ Result : Accepted Lover : zyy Favorite : Dragon Balls Standing in the Hall of Fame*/#in原创 2016-12-16 19:48:50 · 589 阅读 · 0 评论 -
Subsequences CodeForces - 597C 树状数组 + dp
传送门 : CF 579c题解 dp 状态ans[i][j] 表示前i个数,包含j个数的子序列个数有多少 f[i][j]表示前i个数,以a[i]结尾的,包含j个数的子序列有多少 dp[i][j] = dp[i-1][j] + f[i][j] 这个转移很容易想到 f[i][j] = sum f[k][j-1] 其中1<=k < i 且 a[k] < a[i] 这个转移原创 2016-12-14 13:16:08 · 514 阅读 · 0 评论 -
CodeForces - 719E Sasha and Array 线段树 + 矩阵快速幂
传送门:CF 719 E题解 区间更新 注意这里节点是矩阵, 所以初始化要是E 矩阵结合律 + Fibo la表示lazy不过这里是矩阵, 所以初始是E, sum是区间的ans矩阵, lazy纯粹的标记AC code:/*adrui's submissionLanguage : C++Favorite : Dragon BallsLover : yyMotto :原创 2016-12-09 23:05:41 · 554 阅读 · 0 评论 -
CF 740 A. Alyona and copybooks
传送门:CFAC code:/* adrui's submission Language : C++ Result : Accepted Favorite : Dragon Balls Love : yy Motto : Choose & Quit Standing in the Hall of Fame*/#include<iostream>#include<cs原创 2016-11-25 22:12:09 · 429 阅读 · 0 评论 -
codeforces 837E
题解首先我们知道 gcd(a,b)=gcd(a,a+b)f(a,b)=f(a,b−gcd(a,b))gcd(a, b) = gcd(a, a + b) \\f(a, b) = f(a, b - gcd(a, b))\\令b=k∗a+mb=k*a+m 则gcd(a,b)=gcd(a,m)gcd(a, b) = gcd(a, m) f(a,b)=f(a,k∗a+m−gcd(a,m))=k+f(原创 2017-08-30 13:48:47 · 915 阅读 · 0 评论