noip 2018.10.14 模拟赛 砍树
数学问题...
根据题意,有:
移项,整理,得:
记
于是
那么
可以看到,最多只会有2*
个取值(显而易见)
于是对应的,可能产生效果的d也只会有个,于是我们把他们找出来,扔进一个数组里然后排序,去重,获得的就是所有可能的取值
接下来,我们枚举所有取值,然后计算出左边的表达式,那么显然,我们是可以求出最大的d的,那么我们只需要求最大的这个d比枚举到的取值要大即可(否则显然是不合法的啊)!
这样问题就解决了
#include <cstdio>
#include <cmath>
#include <cstring>
#include <cstdlib>
#include <iostream>
#include <algorithm>
#include <queue>
#include <stack>
#define ll long long
using namespace std;
ll a[105];
ll n,k;
ll fac[10000005];
int main()
{
freopen("cut.in","r",stdin);
freopen("cut.out","w",stdout);
scanf("%I64d%I64d",&n,&k);
ll c=k;
for(int i=1;i<=n;i++)
{
scanf("%d",&a[i]);
c+=a[i];
}
int cnt=0;
for(int i=1;i<=n;i++)
{
for(int j=1;j*j<=a[i];j++)
{
fac[++cnt]=j;
fac[++cnt]=(a[i]-1)/j+1;
}
}
sort(fac,fac+cnt+1);
cnt=unique(fac,fac+cnt+1)-(fac+1);
ll ans=1;
for(int i=1;i<=cnt;i++)
{
ll temp=0;
for(int j=1;j<=n;j++)
{
temp+=(a[j]-1)/fac[i]+1;
}
ll t=c/temp;
if(t>=fac[i])
{
ans=t;
}
}
printf("%I64d\n",ans);
return 0;
}
noip 2018.10.14 模拟赛 砍树的更多相关文章
- 2018.10.17NOIP模拟赛解题报告
心路历程 预计得分:\(100 + 100 +100\) 实际得分:\(100 + 100 + 60\) 辣鸡模拟赛.. 5min切掉T1,看了一下T2 T3,感觉T3会被艹爆因为太原了.. 淦了20 ...
- 2018.10.23NOIP模拟赛解题报告
心路历程 预计得分:\(100 + 50 + (10 \sim 50)\) 实际得分:\(100 + 10 + 50\) 这可能是我打的最懵逼的一场考试没有之一.. T1两个小时才做出来也是醉了. T ...
- 2018.10.26NOIP模拟赛解题报告
心路历程 预计得分:\(100 + 100 + 70\) 实际得分:\(40 + 100 + 70\) 妈妈我又挂分了qwq..T1过了大样例就没管,直到临考试结束前\(10min\)才发现大样例是假 ...
- 2018.12.30【NOIP提高组】模拟赛C组总结
2018.12.30[NOIP提高组]模拟赛C组总结 今天成功回归开始做比赛 感觉十分良(zhōng)好(chà). 统计数字(count.pas/c/cpp) 字符串的展开(expand.pas/c ...
- [10.12模拟赛] 老大 (二分/树的直径/树形dp)
[10.12模拟赛] 老大 题目描述 因为 OB 今年拿下 4 块金牌,学校赞助扩建劳模办公室为劳模办公室群,为了体现 OI 的特色,办公室群被设计成了树形(n 个点 n − 1 条边的无向连通图), ...
- [10.18模拟赛] 序列 (DP)
[10.18模拟赛] 序列 题目描述 山山有一个整数序列s1,s2,-,sn,其中1≤si≤k. 求出有多少个准确移除m个元素后不同的序列.答案模(1e9+7) 输入 输入包括几个测试用例,并且由文件 ...
- EZ 2018 06 10 NOIP2018 模拟赛(十八)
好久没写blog&&比赛题解了,最近补一下 这次还是很狗的,T3想了很久最后竟然连并查集都忘写了,然后T2map莫名爆炸. Rating爆减......链接不解释 好了我们开始看题. ...
- NOIP第7场模拟赛题解
NOIP模拟赛第7场题解: 题解见:http://www.cqoi.net:2012/JudgeOnline/problemset.php?page=13 题号为2221-2224. 1.car 边界 ...
- [CSP-S模拟测试]:砍树(数学+模拟)
题目传送门(内部题1) 输入格式 第一行两个整数$n$,$k$,代表树苗的数量和最大看书的总长度.第二行n个整数$a_i$,代表林先森希望每棵树苗的最终高度. 输出格式 一行一个整数,代表最大可能的d ...
随机推荐
- docker安装问题:E: Package 'docker-ce' has no installation candidate
我的环境是在vm虚拟机中,Ubuntu17.04 前期安装步骤不过多介绍,下面这个博客就很好 ubuntu16.10安装docker17.03.0-ce并配置国内源和加速器 http://www.cn ...
- MongpDB 学习手册 - 索引
//查看数据库以及容量 // show dbs //查看有哪些数据表 // show collections // MongoDB 索引 // 索引通常能够极大的提高查询的效率,如果没有索引,Mong ...
- 为什么可逆矩阵又叫“非奇异矩阵(non-singular matrix)”?
最近在捡回之前的线性代数知识,在复习可逆矩阵的时候,发现有的书上把可逆矩阵又称为非奇异矩阵,乍一看名字完全不知所云,仔细一分析,还是不明白.要想弄明白,还是得从英文入手,下面的解释主要从这里得来的Wh ...
- Nginx在局域网中使用ip_hash负载均衡策略,访问全部分发到同一个后台服务器
Nginx的ip_hash算法都将一个ip地址的前三段作为hash的关键字
- android 控件设置透明度
问题:java文件中引用组件设置透明度:mGuideLayout.getBackground().setAlpha(125); 一直报null 修改办法:对应的布局文件中添加 android:back ...
- C++ 模式设计
只写了MinGw/Linux API部分.所有相关的代码都是参考C++ API C++ 11智能指针参考http://blog.csdn.net/zy19940906/article/details/ ...
- python 大全
python 大全:https://awesome-python.com/ 生产 GUI 应用的库 :PyQt ,PySide , 不错 (https://kivy.org)kivy - A li ...
- liunx之Centos6.8杀毒软件的安装
作者:邓聪聪 为了防止服务器中病毒,安装了类似与Windowns的杀毒软件Clanav,过程如下 首先下载clamav的软件包,官方下载地址为http://www.clamav.net/downloa ...
- 用函数SendARP()获取局域网计算机的MAC地址
sendARP 31 说明对方没有开机,我们的函数检测不到它, 1784 说明的给函数的最后一个参数的值是0,或你的给的值与你给的缓存区大小不符合. 如果返回31不在线,则最后一个参数指针指向的值赋值 ...
- boost.log在项目中应用
//头文件#pragma once #include <string> #include <boost/log/trivial.hpp> using std::string; ...