二分比较容易想到

#include<map>
#include<set>
#include<cmath>
#include<queue>
#include<stack>
#include<vector>
#include<cstdio>
#include<cassert>
#include<iomanip>
#include<cstdlib>
#include<cstring>
#include<iostream>
#include<algorithm>
#define C 0.5772156649
#define pi acos(-1.0)
#define ll long long
#define mod 1000000007
#define ls l,m,rt<<1
#define rs m+1,r,rt<<1|1
#pragma comment(linker, "/STACK:1024000000,1024000000")using namespace std;const double g=10.0,eps=1e-7;
const int N=2000000+10,maxn=1000000+10,inf=0x3f3f3f;ll a,b;
bool ok(ll l,ll r,ll t,ll m)
{if(a+(r-1)*b<=t){ll p=a*(r-l+1)+(l+r-2)*(r-l+1)/2*b;return p<=t*m;}return 0;
}
int main()
{ios::sync_with_stdio(false);cin.tie(0);ll n;cin>>a>>b>>n;while(n--){ll l,t,m;cin>>l>>t>>m;ll L=l,R=10*N;while(L<R-1){ll mid=(L+R)/2;//  cout<<L<<" "<<mid<<" "<<R<<endl;if(ok(l,mid,t,m))L=mid;else R=mid;}if(a+(L-1)*b<=t)cout<<L<<endl;else cout<<-1<<endl;}return 0;
}
/********************
2 3 1
148990 913922 18257
********************/

View Code

,而结论就是对于一个递增的数列,每次把m个数减小1,一共减小t次,当最大的那个数小于t,而且数列总和小于t*m时,那么可以取完,否则就不行

转载于:https://www.cnblogs.com/acjiumeng/p/7355953.html

Tavas and Karafs 二分+结论相关推荐

  1. CF535C Tavas and Karafs 二分 + 结论

    传送门 题意: 定义第iii个数是a+(i−1)∗ba+(i-1)*ba+(i−1)∗b,先有qqq个询问,每次询问给你l,t,ml,t,ml,t,m代表你可以操作ttt次,每次可以将最多mmm个数减 ...

  2. Codeforces 535C - Tavas and Karafs

    535C - Tavas and Karafs 思路:对于满足条件的r,max(hl ,hl+1 ,hl+2 ,......,hr )<=t(也就是hr<=t)且∑hi<=t*m.所 ...

  3. U92904-画地为佬【二分,结论】

    正题 题目链接:https://www.luogu.org/problem/U92904?contestId=23574 题目大意 用mmm根长度为1的火柴求能够圈住的最多块的地. 解题思路 显然如果 ...

  4. codeforces 536a//Tavas and Karafs// Codeforces Round #299(Div. 1)

    题意:一个等差数列,首项为a,公差为b,无限长.操作cz是区间里选择最多m个不同的非0元素减1,最多操作t次,现给出区间左端ll,在t次操作能使区间全为0的情况下,问右端最大为多少. 这么一个简单题吞 ...

  5. 2017寒假练习题解 第四周 2.6-2.12

    2.6 Problem A Quasi Binary 题意:给出 n ,输出n至少由k个只含 01的数组成 简析:按照 n 的位数如果相应的一位不是0的话,就填 1 ,再减去,直到减到 n 为0 1 ...

  6. AtCoder AGC032E Modulo Pairing (二分、贪心结论)

    题目链接 https://atcoder.jp/contests/agc032/tasks/agc032_e 题解 猜结论好题. 结论是: 按\(a_i\)从小到大排序之后,一定存在一种最优解,使得以 ...

  7. AtCoder AGC032E Modulo Pairing (二分、贪心与结论)

    题目链接 https://atcoder.jp/contests/agc032/tasks/agc032_e 题解 猜结论好题. 结论是: 按\(a_i\)从小到大排序之后,一定存在一种最优解,使得以 ...

  8. bzoj3130 [SDOI2013]费用流 结论+二分答案+网络流检验

    这个题看起来很难,但分析一下还是很简单的 Alice的操作是根据Bob来的,而Bob又是知道这个方案的 所以需要考虑对于一个固定的方案,Bob必然怎么加,来确定Alice的方案 然后发现,对于当前割集 ...

  9. BZOJ 2135 刷题计划(贪心,求导,二分)【BZOJ 修复工程】

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 题目链接 https://hydro.ac/d/bzoj/p/2135 是 hydro 的 BZOJ ...

最新文章

  1. CSS 强制换行和禁止换行强制换行 和禁止换行样式
  2. VC6命令行编译工程方法
  3. 应该允许公司报复黑客吗?
  4. 为什么要要使用MyBatis
  5. 【X264系列】之命令参数解析
  6. Eclipse SVN插件安装
  7. 关于android studio报错Attempt to invoke virtual method 'void android.widget.ListView.setAdapter(android.
  8. C#txt文本分割器
  9. 常见卫星汇总--期待大神补充下载地址
  10. 神奇的泡泡java游戏,抖音挤泡泡游戏叫什么名字 抖音上很火的减压游戏介绍
  11. OSS对象存储命令管理、数据迁移
  12. 无需会员,百度云不限速下载!
  13. Vue组织架构图组件
  14. iOS系统 查看设备序列号 获取UDID
  15. pip报错:No module named pip
  16. 计算机毕业设计Java在线选课系统设计(系统+程序+mysql数据库+Lw文档)
  17. APP支持文件共享设置(iOS)
  18. 【论文写作】如何画出好看的图表
  19. 3999美元掀价格战,Velodyne宣布16线激光雷达降价50%
  20. 供应科研试剂Biotin-PEG-Thiol,Biotin-PEG-SH,生物素peg巯基

热门文章

  1. 从搞科研到商业运作:Alberto Broggi 研究计算机视觉的二十年
  2. Bitcoin Cash和Bitcoin Core到底谁是分叉币
  3. 一个初级的前端工程师需要知道些什么?
  4. uuntu中ant的解压安装
  5. 转: SMTP 服务器无法识别在 Mac 2011 Outlook 中发送电子邮件时错误。错误 17092...
  6. 在Linux系统环境下修改MySQL的root密码
  7. css3 呼吸的莲花_CSS3制作莲花盛开动画
  8. 开源程序识别图像像素点_开源浏览器扩展程序,可放大图像
  9. 销售面销五个最基础步骤步骤_3个步骤,可提供强有力的反馈
  10. 机器学习必读之路必读_2017年必读的9个游戏故事