NOIP模拟测试5「星际旅行·砍树·超级树」
星际旅行
0分
瞬间爆炸。
考试的时候觉得这个题怎么这么难,
打个dp,可以被儿子贡献,可以被父亲贡献,还有自环,叶子节点连边可以贡献,非叶子也可以贡献,自环可以跑一回,自环可以跑两回,
关键是同一子树会贡献,不同子树也会贡献。
这还不是欧拉图欧拉路问题,awsl
然后我就放弃了这个题
考完试看题解,tm一个大水题
虽然好像不算水,
思考两个点之间因为连接的是无向边,所以所有点入度出度都为2。
先不考虑自环
如果把两个点之间无向边拆成两个有向边,那么问题就变成去掉两个边使原图存在欧拉路。
于是乎,问题就变得很简单了
如果有自环
可以去掉两个自环,或者去掉一个自环和一个边
砍树
做砍树时问大佬说,“这是一个数论分块”模板题
我:???
原来只有我没学过数论分块吗?
https://www.cnblogs.com/0xfffe/p/9648943.html
略微理解了理解,写的非常清楚
你说这是向下取整,不是向上取整,砍树要向上取整,那篇博客不适用于砍树?
确实不适用
我们要分块的是等式右面的$\sum_{i}^{n} a[i] +k$除以d
因为C是固定的,所以这是一个分段函数,我们要处理的是不同的右面的值最后再跟左面对应
我们然后f存下这一段具体的值,
r存下具体右端点
然后就完了
代码
#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define A 11000000
ll l=1,r,n,m,a[A],dl[A],R[A],f[A],zz=0,num=0,ans=0,sum=0;
void precl()
{
while(1){
if(!(sum/l)) break;
r=sum/(sum/l);
f[++num]=sum/r;
R[num]=r;
l=r+1;
}
} int main(){
scanf("%lld%lld",&n,&m);
sum=m;
for(ll i=1;i<=n;i++){
scanf("%lld",&a[i]);
sum+=a[i];
}
precl();
for(ll j=1;j<=num;j++)
{
ll t=0;
for(ll i=1;i<=n;i++){
t+=ceil((double)a[i]/(double)R[j]);
}
// printf("f=%lld R=%lld\n",f[j],R[j]);
if(t<=f[j]) ans=R[j];
}
cout<<ans<<endl;
}
以下是我完全错误的解释
设$k\times i-p=N$ 向上取整设
$\large{\lceil \frac N{i+d} \rceil}=k$
于是$k\times (i+d)-p2=N$
同样得出p2=p+kd
就是照猫画虎的一个过程
底下我不具体推了,
$\large \left \lceil \frac N{\left \lfloor \frac Ni \right \rfloor } \right \rceil$
所以对砍树这道题来说,这确实是个模板题,分析发现这是一个分段函数,维护每一段大小相同,维护l,r下一个l=r+1
具体来说
$\large \left \lceil \frac {a[i]}{d} \right \rceil$不是为我们具体分块的值
$\large \lfloor \frac Ni \rfloor$才是
然后等式右面是$\sum_{i}^{n} a[i] +k$再除以d
这个N就是$\sum_{i}^{n} a[i] +k$
那么这个题就迎刃而解了。
超级树
等我AC了可怜与超市
NOIP模拟测试5「星际旅行·砍树·超级树」的更多相关文章
- NOIP模拟测试17「入阵曲·将军令·星空」
入阵曲 题解 应用了一种美妙移项思想, 我们先考虑在一维上的做法 维护前缀和$(sum[r]-sum[l-1])\%k==0$可以转化为 $sum[r]\% k==sum[l-1]\%k$开个桶维护一 ...
- NOIP模拟测试14「旋转子段·走格子·柱状图」
旋转子段 连60分都没想,考试一直肝t3,t2,没想到t1最简单 我一直以为t1很难,看了题解发现也就那样 题解 性质1 一个包含a[i]旋转区间值域范围最多为min(a[i],i)----max(a ...
- NOIP模拟测试11「string·matrix·big」
打的big出了点小问题,maxx初值我设的0然后少了10分 第二题暴力打炸 第一题剪了一些没用的枝依然40分 总分70 这是一次失败的考试 string 想到和序列那个题很像,但我没做序列,考场回忆学 ...
- NOIP模拟测试19「count·dinner·chess」
反思: 我考得最炸的一次 怎么说呢?简单的两个题0分,稍难(我还不敢说难,肯定又有人喷我)42分 前10分钟看T1,不会,觉得不可做,完全不可做,把它跳了 最后10分钟看T1,发现一个有点用的性质,仍 ...
- 20190803 NOIP模拟测试12「斐波那契(fibonacci)· 数颜色 · 分组 」
164分 rank11/64 这次考的不算太差,但是并没有多大的可能性反超(只比一小部分人高十几分而已),时间分配还是不均,T2两个半小时,T1半个小时,T3-额十几分钟吧 然额付出总是与回报成反比的 ...
- NOIP模拟测试10「大佬·辣鸡·模板」
大佬 显然假期望 我奇思妙想出了一个式子$f[i]=f[i-1]+\sum\limits_{j=1}^{j<=m} C_{k \times j}^{k}\times w[j]$ 然后一想不对得容 ...
- NOIP模拟测试38「金·斯诺·赤」
金 辗转相减见祖宗 高精 #include<bits/stdc++.h> using namespace std; #define A 2000 #define P 1 #define N ...
- NOIP模拟测试28「阴阳·虎·山洞」
写这几个题解我觉得我就像在按照官方题解抄一样 阴阳 题解 将题目中给的阴阳看作黑色和白色 首先我们观察到最后生成图中某种颜色必须是竖着单调递增或竖着单调递减 类似这样 否则不满足这个条件 但合法染色方 ...
- NOIP模拟测试30「return·one·magic」
magic 题解 首先原式指数肯定会爆$long$ $long$ 首先根据欧拉定理我们可以将原式换成$N^{\sum\limits_{i=1}^{i<=N} [gcd(i,N)==1] C_{G ...
随机推荐
- 在服务器上使用 smart http 搭建 Git 服务器
前言 最近一直在写 django 网页的代码,随着代码的量越来越大,管理起来也有点复杂(当然,有在使用 git 进行代码管理).同时由于有不同的工作环境,有些工作环境对 ssh 的访问有限制,所以想到 ...
- Django(15)外键和表关系
外键删除操作 如果一个模型使用了外键.那么在对方那个模型被删掉后,该进行什么样的操作.可以通过on_delete来指定.可以指定的类型如下: CASCADE:级联操作.如果外键对应的那条数据被删除了, ...
- 2020.12.14vj补题
A. Lucky Ticket 题意:就是说4与7是幸运数字,用4和7组成的数字也是幸运数字,问所给数字是不是幸运数字 思路:直接敲 代码: 1 #include<iostream> 2 ...
- training11.14
7-10 关于堆的判断 (25分) 题目:将一系列给定数字顺序插入一个初始为空的小顶堆H[].随后判断一系列相关命题是否为真.命题分下列几种: x is the root:x是根结点: x and ...
- svg web拓扑更新了,支持动态添加svg组件
版本1.0请点此 预览地址 https://svg.yaolunmao.top 如何使用 # 克隆项目 git clone https://github.com/yaolunmao/vue-webto ...
- 2020BUAA-团队介绍-采访
团队作业-团队介绍和采访 项目 内容 课程:北航2020软件工程 博客园班级地址 作业要求 团队作业-团队介绍和采访 团队介绍 姓名 有图有真相 个人介绍 刘y 精通(没那么熟悉)c++和python ...
- CRM客户关系管理系统有哪些优缺点?
CRM系统不仅仅是一种技术,也是面向企业的客户管理系统.客户关系管理软件可以帮助销售员快速地找到客户信息,帮助销售员跟踪客户直到完成订单.为提高企业销售效率,CRM被越来越多的企业所采用. 那么,作为 ...
- Linux USB ECM Gadget 驱动介绍
1 USB ECM介绍 USB ECM,属于USB-IF定义的CDC(Communication Device Class)下的一个子类:Ethernet Networking Control Mo ...
- 在linux下把jsp文件 打包war格式(centos7)
在linux下把jsp文件 打成war包 chmod -R 777 /data/jdk8u242-b08/bincd /data/TongWeb61712/deployment/TestCase//d ...
- BUUCTF(十)[GXYCTF2019]Ping Ping Ping 1
BUUCTF系列 /?ip=baidu.com /?ip=baidu.com|ls 正常回显,当cat flag.php时,提示不让输入空格,而且后面还不让出现falg字符 IFS IFS (Inte ...