ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

ATC 摸索记录

2022-06-17 19:31:39  阅读:167  来源: 互联网

标签:奇偶 ATC 记录 摸索 为奇 偶数 素数 即可 模拟


ATC 做题记录

2022.6.17

ARC079

A:模拟。

B:考虑先构造一个最终状态,然后通过把一个数加 \(n\)(保证它加完后是最大的), 其他数减 \(1\) 的操作得到初始序列。首先有一个结论是:按照这种方式进行操作,对于一个连续的值域 \([l,l+n-1]\) ,操作 \(n\) 次后会变成 \([l+1,l+n]\) ,于是直接模拟这个操作 \(\dfrac{k}{n}\) 次 , 再从小到大把剩下 \(k \mod n\) 次执行即可。

C:如果一个数 \(\geq n\), 那么一定是会被减的, 于是模拟。把最大数找出来,可以算出多少次后 \(< n\), 复杂度是 \(\log_{1.02} V\) 的。

D:容易发现图是个外向基环树,按照题目的要求可以对每一个挂着的节点做一次树形 dp, 求子树的 mex。然后可以直接枚举环上的点的权值,复杂度可以证明是 \(O(n\log n)\) 。看题解区还有一个结论:若环上所有点权相同且为奇环则无解。

ARC080

A,B:模拟。

C:很容易找到规律,用线段树来优化这个分治即可。

D:先把异或序列差分,此时有 1 的位置一定只有偶数个。

​ 于是就变成了 P3943 星空, 结论是两两 1 匹配,费用是 \(p_x - p_y\)。 设 \(w = p_x - p_y\), 考虑 \(w\) 要用几个奇素数拼出来。

  • 若 w 为奇素数,一次即可。

  • 若 w 为偶数 : 若 w = 2, 先取 5 再取 3 即可; 若 w = 4, 先取 7 再取 11 即可。

    若 w > 4, 由哥德巴赫猜想(一个大于 2 的偶数可以写成两个奇素数的和)可知, 需要两个。

    综上:若 w 为偶数, 需要 2 次。

  • 若 w 为奇合数 : 若 w = 1, 取 5, 7, 13 即可。 若 w = 3,取 7, 27, 37 即可。

    若 w > 3,可以把 w 写成 3 + (w - 3), 其中 (w - 3) 为偶数, 需要两次,故总需要 3 次。

    综上:若 w 为奇合数, 需要 3 次。

直接建图是不行的,因为这是一般图最大权匹配问题。考虑贪心, 先尽量选权值为 1 的边,再选 2, 3。

按奇偶分类, 则奇偶之间的连边为奇数, 先把奇素数的边选了, 再在奇偶内部互相选,边权为 2。

若奇偶都有剩余,则选一个边权为 3 的边。

标签:奇偶,ATC,记录,摸索,为奇,偶数,素数,即可,模拟
来源: https://www.cnblogs.com/henrici3106/p/16386890.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有