codeforces - 337c Quiz【贪心】
来源:互联网 发布:mac 扫描局域网ip 编辑:程序博客网 时间:2024/05/18 04:12
题意:
有n到题,按顺序做,做完一道,得分+1。同时计数器显示连续作对的题数,如果题数大于k,此时的成绩扩大一倍。求作对m道题得到的最少分数。
思路:
贪心的算,从末尾每k-1个位置放一个没有做对的题,这样倍数最小。
对于前面的每k个翻一倍,可以得到这个公式:……2(2(2k + k)+k)……。整理就是:k*(2^pre + 2^(pre-1)……+2),对于后面,没有翻倍,直接加上就可以,注意前面还可能有没有翻倍的余项。
还有就是 是对1e9+9取余,不是1e9+7 。。。。。。。。。。。。。
#include <map>#include <set>#include <cstdio>#include <cstring>#include <algorithm>#include <queue>#include <iostream>#include <stack>#include <cmath>#include <string>#include <vector>#include <cstdlib>//#include <bits/stdc++.h>//#define LOACL#define space " "using namespace std;//typedef long long LL;typedef __int64 Int;typedef pair<int, int> paii;const int INF = 0x3f3f3f3f;const double ESP = 1e-5;const double PI = acos(-1.0);const long long MOD = 1000000009;const int MAXN = 100000 + 10;Int pow_mod(Int y) { Int rec = 1; Int base = 2LL; while (y) { if (y&1) rec = base%MOD*rec%MOD; base = base%MOD*base%MOD; y >>= 1; } return rec;}int main() {Int n, m, k;while (scanf("%I64d%I64d%I64d", &n, &m, &k) != EOF) {Int ans = 0, res;if (n < k*(n - m + 1)) {printf("%I64d\n", m);}else {m = n - m;Int pre = (n - k*m)/k;res = (n - m*k)%k;//须要加上一个MOD在进行取余,防止取余取到一个特小的数 44组测试数据卡这里ans = (k%MOD*(pow_mod(pre + 1) - 2)%MOD + res + m*(k - 1)%MOD + MOD)%MOD;printf("%I64d\n", ans);}}return 0;}
0 0
- codeforces - 337c Quiz【贪心】
- 【codeforces 337C Quiz】 + 贪心
- CodeForces - 337 C. Quiz【贪心】
- 【CodeForces】337C - Quiz(贪心,思维)
- Codeforces 337C Quiz 贪心+快速幂
- Codeforces 337C Quiz【贪心+快速幂】
- codeforces 337C-quiz 贪心加矩阵快速幂
- Codeforces 337C:Quiz(贪心+规律+快速幂)
- codeforces 337C Quiz(快速幂+推公式+贪心)
- codeforces 337C Quiz
- CodeForces 337C. Quiz
- CodeForces 337C. Quiz
- Codeforces Round #196 (Div. 2) / 337C Quiz (贪心&快速幂取模)
- Codeforces Round #196 (Div. 2) C--Quiz(快速幂+贪心)
- CodeForces 337C Quiz(1等比数列找规律)
- 337C - Quiz
- cf-337C Quiz
- Codeforces Round #196 (Div. 2) C. Quiz
- (仿超级课程表)结合MaterialSheetFab实现简单的课程表功能
- Micro Focus COBOL multi-thread solution
- 第十三天学习笔记
- js 字母和ASCII的转换
- uboot的环境变量
- codeforces - 337c Quiz【贪心】
- 新建对话框(模态和非模态)
- Android源码无注释的解决办法
- 树链剖分
- 什么是死锁?如何避免死锁?
- 第三天学习数据结构,把链表完成
- fun_template
- 洛谷 P1066 [NOIP2006 T4] 2^k进制数
- Js组件的一些写法