AGC010
AGC010
A
【过水已隐藏】
B
这题推完了还是不会/kk真的毒瘤
考虑每次会减少的总和是\(n(n+1)/2\),用原来的和除以这个可以得到操作次数\(m\)(不是整数无解)
再考虑相邻两个数\(a_i,a_{i+1}\),考虑它们的差,设为\(d=a_i-a_{i+1}\)。
一次操作有两种情况,一是\(\Delta a_i=-j,\Delta a_{i+1}=-j-1\),会让\(d\)增加1。
二是\(\Delta a_i=-n,\Delta a_{i+1}=-1\),会让\(d\)增加\(1-n\)。
考虑任意两个相邻数,有一个初始的\(d_0\),然后操作\(m\)次若有\(a\)个操作二会让\(d_0\)增加\(m-na\),为了让最终\(d_0\)恰好为\(0\)算出\(a=\frac{m+d_0}{n}\),不是整数或\(<0\)无解
还有一个限制就是\(\sum a\)应该是\(m\),不过这个肯定可以满足不用判
C
以每个点为LCA的点对可以根据已知信息算出(判无解),现在只需要在每个点判断是否能在这个点按要求配对救星了
就是有数组\(a\),\(m\)次选两个不同的\(i,j\),让\(a_i--,a_j--\),最终\(a\)非负
这个很好判,按照最大值和其它的和比较一下就能知道最多能配出多少对
D
后面全提姆博弈题= =zbl
一堆结论:
- 不考虑除\(\gcd\),如果开场有奇数个偶数是先手必胜,否则先手必败
- 必胜/必败态只和奇偶有关所以不必考虑\(\gcd\)是奇数的情况
- \(\gcd=1\)可推出至少一个奇数
- 如果一开始至少有一个\(a_i=1\)那么可以根据1直接确定答案了
- 如果有奇数个偶数的话可以操作一个偶数,然后会剩下\(2\)个奇数,之后先手可以一直操作保证\(\gcd\)为奇,根据2和3先手必胜
- 如果有至少\(2\)个奇数和偶数个偶数那么先手操作完之后转到5,先手必败
- 否则只可能只有\(1\)个奇数,和偶数个偶数,先手操作偶数会转到5,所以先手只能追逐梦想操作那个奇数,操作完后所有数至少除以\(2\),所以可以直接暴力递归下去
E
zbl*2
显然先建一个图,不互质的数之间连边,先手选完序列后边会定向(当然无环),后手只能按照这个拓扑排序
yyb:先手肯定想要拉一条字典序最长的链,所以dfs一遍就行了
我觉得很有道理。
F
zbl*3
枚举每个点,如果以它作为根,最优方法走到它时只会走到\(A\)比它小的节点,因为如果你这样走,对面可以直接移回来你就很尴尬。
所以到了一个点就不能回父亲(走过来就是因为这个点\(A\)更小)
然后都是抄yyb的我也不知道为什么。
AGC010的更多相关文章
- 【AtCoder】AGC010
AGC010 A - Addition 如果所有数加起来是偶数那么一定可以,否则不行 #include <bits/stdc++.h> #define fi first #define s ...
- AGC010 - D: Decrementing
原题链接 题意简述 给出一个个数的序列,足够聪明的AB两人轮流进行以下操作: 令一个大于1的数减1,然后所有数除以. 如果一个人不能操作了,那么他就输了. 输入保证所有数都是正整数并且. 分析 这是一 ...
- AGC010 - C: Cleaning
原题链接 题意简述 给出一棵个节点的树,每个点有点权.每次可以选择两个叶节点并将连接它们的路径上的节点的点权-1(包括叶节点).求能否将所有节点的点权都变为0. 分析 先考虑最简单的情况.在这种情况下 ...
- AGC010 - B: Boxes
原题链接 题意简述 给出一个由个数构成的环,每次可以选择一个位置并从这个数起顺时针依次对每个数-1,-2,-3,-,-n.问能否将所有数全变为0. 分析 考虑一次操作对环带来了什么影响. (在后加一个 ...
- AGC010 - A: Addition
原题链接 题意简述 给出一个个数的数列,每次选出两个奇偶性相同的数合成一个数,问最终能否只剩下一个数. 分析 非常简单的一道题. 两个偶数可以合成一个偶数,两个奇数也能合成一个偶数.所以合并偶数时偶数 ...
- 【AGC010 C】Cleaning
题意 有一棵 \(n\) 个点的树,第 \(i\) 个节点有 \(a_i\) 个石子. 每次都可以选择一对不同的叶子节点,这对叶子节点路径上的所有点都必须要有石子.然后去掉这两个叶子节点路径上的每个节 ...
- AtCoder Grand Contest 1~10 做题小记
原文链接https://www.cnblogs.com/zhouzhendong/p/AtCoder-Grand-Contest-from-1-to-10.html 考虑到博客内容较多,编辑不方便的情 ...
- Atcoder Grand Contest 010 C - Cleaning 树贪心(伪)
C - Cleaning 题目连接: http://agc010.contest.atcoder.jp/tasks/agc010_c Description There is a tree with ...
- Atcoder Grand Contest 010 B - Boxes 差分
B - Boxes 题目连接: http://agc010.contest.atcoder.jp/tasks/agc010_b Description There are N boxes arrang ...
随机推荐
- Java 8 in Action
https://www.cnblogs.com/HelloDeveloper/p/11404523.html /** * @param args */public static void main(S ...
- Kafka消费者组静态成员(static consumer member)
Kafka 2.3发布后官网的Consumer参数中增加了一个新的参数:group.instance.id.下面是这个参数的解释: A unique identifier of the consume ...
- LP线性规划初识
认识LP 线性规划(Linear Programming) 特指目标函数和约束条件皆为线性的最优化问题. 目标函数: 多个变量形成的函数 约束条件: 由多个等式/不等式形成的约束条件 线性规划: 在线 ...
- Linux命令head
1.命令简介 head (head) 用来显示档案的开头至标准输出中.如果指定了多于一个文件,在每一段输出前会给出文件名作为文件头.如果不指定文件,或者文件为"-",则从标准输入读 ...
- 动态路由 RIP
不同网段之间进行通信,中间有多个路由器的情况下,我们可以通过配置RIP动态路由来实现数据转发. 实验拓扑 如图所示连接,地址规划如下: 名称 接口 IP地址 R1 f0/0 192.168.10.1/ ...
- Odoo搜素视图过滤器之筛选与分组
转载请注明原文地址:https://www.cnblogs.com/ygj0930/p/10826168.html 一:过滤器 搜索视图还可以包含<filter>元素,定制过滤器. 过滤器 ...
- ansible-playbook安装zabbix_server,agent监控
主要完成通过playbook自动生成zabbix_server,agent,这里没有完全实现自动化,这里机器的获取还是需要人为手工填写,如果感兴趣想通过自动获取需要部署的机器可以通过namp扫描工具a ...
- filter-grok,dissect匹配数据
Grok(正则捕获).Dissect(切分): grok使用正则匹配来提取非结构化日志数并据解析为结构化和可查询的内容. dissect使用多种定界符(非数字和字母的符号,split只能一次只能使用一 ...
- xshell链接ubuntu16
用xshell 链接 ubuntu16 失败 ,是因为没有装 ssh 服务 sudo apt-get install openssh-server //安装ssh服务 ps -ef | ...
- linux设备驱动程序-i2c(0)-i2c设备驱动源码实现
(基于4.14内核版本) 为了梳理清楚linux内核中的i2c实现框架,从本文开始,博主将分几个章节分别解析i2c总线在linux内核中的形成过程.匹配过程.以及设备驱动程序源码实现. 在介绍linu ...