Anton and Fairy Tale
时间:2020-05-06
本文章向大家介绍Anton and Fairy Tale,主要包括Anton and Fairy Tale使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
Anton and Fairy Tale
思路
瞎扯
一开始猜了一个假结论从第m + 1天开始,每天结束的谷物会比前一天少一个,没仔细读题。。。
正解
我们打表发现,第m天结束后剩余的谷物是\(n - m\),并且从第m + 1天开始,当天结束时剩余的谷物会比上一天的谷物少,并且满足
\(sum[m + i] - sum[m + i - 1] = i\),于是我们有了下面这个式子。
\(\frac{(1 + i) * i}{2} >= n - m\),我们就是要求这个最小满足要求的i,然后最后答案就是\(m + i\)
一种特殊情况,当\(m > n\)的时候,一定是在第n天谷物全部没有。
代码
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll n, m;
ll clac(ll x) {
return (1 + x) * x / 2 < n - m;
}
int main() {
// freopen("in.txt", "r", stdin);
cin >> n >> m;
if(m > n) cout << n << "\n";
else {
ll l = 0, r = 2e9;
while(l < r) {
ll mid = l + r >> 1;
if(clac(mid)) l = mid + 1;
else r = mid;
}
cout << l + m << endl;
}
return 0;
}
原文地址:https://www.cnblogs.com/lifehappiness/p/12837823.html
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- extjs 为组件动态添加插件
- logback使用异步输出日志
- 守护进程
- 使用go-zero快速构建支持高并发的微服务
- Semaphore加锁与释放流程
- ReentrantLock加锁与释放过程
- 使用vue-cli4快速搭建vue项目demo
- Vue实现pc/H5弹窗拖拽
- 微信小程序skeleton骨架屏
- 微信小程序锚点选择导航栏
- vue-ripple-directive点击水波纹
- dubbo学习之源码创建属于自己的dubbo-demo
- Vue4.x配置env开发环境、测试环境、生产环境
- SpringBoot总结之CommandLineRunner
- 详细整理Spring事务失效的具体场景及解决方案