AtCoder Regular Contest 061
文章目录
- C - Many Formulas
- D - Snuke's Coloring
- E - Snuke's Subway Trip
- F - Card Game for Three
传送门
C - Many Formulas
Score : 300300300 points 爆搜
直接dfsdfsdfs爆搜即可
复杂度O(2n)O(2^n)O(2n)
代码
D - Snuke’s Coloring
Score : 400400400 points
考虑有标记的3×33×33×3的格子很少,所以直接暴力跑这些格子即可。
复杂度O(n)O(n)O(n)
代码
E - Snuke’s Subway Trip
Score : 600600600 points 优化建图 + dijkstradijkstradijkstra
经典建图了,考的n2−>nn^2->nn2−>n建图的优化
考虑对每个点延伸出max{ci}max\{ c_i\}max{ci}个点,编号为1,2,...,max{ci}1,2,...,max\{c_i\}1,2,...,max{ci},将这个点与延伸出的点连边,边权为111,让后对于边(a,b,c)(a,b,c)(a,b,c)我们将aaa延伸出的ccc号点与bbb延伸出的ccc号点连接,边权为000,此时跑dikstradikstradikstra就是答案了。
但是细心的小伙伴就发现了,上面建图不还是n2n^2n2吗?考虑每个点延伸出来的每个点不一定有用,所以删去没用的,剩下有用的个数就是O(m)O(m)O(m)级别的了。
复杂度O(mlogn)O(mlogn)O(mlogn)
代码
F - Card Game for Three
Score : 110011001100 points 组合数学 + 容斥dpdpdp
将若干操作考虑成一组操作序列,合法序列应该满足如下要求:aaa出现恰好nnn次,bbb出现≤m\le m≤m,ccc出现≤k\le k≤k,序列长度范围是[n,n+m+k][n,n+m+k][n,n+m+k],我们枚举当前的序列长度,然后考虑组合数学求出方案。
假设当前枚举的长度是iii,首先最后一次也就是第iii次一定是aaa,让后剩下的n+m+k−in+m+k-in+m+k−i个位置任意,就有3n+m+k−i3^{n+m+k-i}3n+m+k−i种,所以我们需要先从i−1i-1i−1个中选n−1n-1n−1个,这个比较简单就是(i−1n−1)\binom{i-1}{n-1}(n−1i−1),此时剩下了n−in-in−i个位置,我们需要将b,cb,cb,c都填入这几个位置,并且他们长度都满足要求。一个比较暴力的做法就是枚举bbb的长度,让后判断ccc是否符合条件,总方案就是(i−1n−1)∗3n+m+k−i∗∑x=0m[i−n−x<=k](i−nx)\binom{i-1}{n-1}*3^{n+m+k-i}*\sum_{x=0}^{m}[i-n-x<=k]\binom{i-n}{x}(n−1i−1)∗3n+m+k−i∗∑x=0m[i−n−x<=k](xi−n),但是容易发现这个复杂度是O(n2)O(n^2)O(n2)的,网上有题解说像杨辉三角。。没看出来,但是不难发现我们的问题就是从iii个里面选xxx个bbb,yyy个ccc,并且合法,那么定义f[i]f[i]f[i]代表长度为iii的时候合法的数量,转移方程: f[i]=f[i−1]∗2−(i−1m)−(i−1k)f[i]=f[i-1]*2-\binom{i-1}{m}-\binom{i-1}{k}f[i]=f[i−1]∗2−(mi−1)−(ki−1),含义是当前第iii位置可以选b,cb,cb,c,这样就是f[i−1]∗2f[i-1]*2f[i−1]∗2,但是当选bbb的时候如果i−1i-1i−1个位置里面有mmm个位置是bbb,那么就是不合法的需要减去,对于ccc同理。预处理出来之后答案就很好算了,iii位置的总方案就是(i−1n−1)∗3n+m+k−i∗f[i−n]\binom{i-1}{n-1}*3^{n+m+k-i}*f[i-n](n−1i−1)∗3n+m+k−i∗f[i−n]
复杂度O(n)O(n)O(n)
代码
AtCoder Regular Contest 061相关推荐
- AtCoder Regular Contest 061 E - Snuke‘s Subway Trip(建图 + dijkstra最短路 / 0/1bfs / 并查集)
AtCoder Regular Contest 061 E - Snuke's Subway Trip problem 洛谷翻译 my idea 最近一直在做网络流,所以一读这题后,我就想到了最小费用 ...
- AtCoder Regular Contest 065
AtCoder Regular Contest 065 C - Daydream Score : 300300300 points 倒着来就行了,正着来会产生歧义匹配,dreamer,dreamdre ...
- AtCoder Regular Contest 100 D - Equal Cut 思维 + 前缀和
传送门 文章目录 题意: 思路: 题意: 给你一个数组aaa,你要将其分成四份,让这四份中和的最大值−-−最小值最小,输出这个最小值. n≤2e5,ai≤1e9n\le2e5,a_i\le1e9n≤2 ...
- AtCoder Regular Contest 100 E - Or Plus Max Sos dp
传送门 文章目录 题意: 思路: 题意: 给你一个长度为2n2^n2n的数组,让你对于所有的1≤k≤2n−11\le k\le 2^n-11≤k≤2n−1求最大的ai+aj,0≤i<j≤2n−1 ...
- NOMURA Programming Contest 2021(AtCoder Regular Contest 121)
文章目录 A - 2nd Greatest Distance B - RGB Matching C - Odd Even Sort D - 1 or 2 E - Directed Tree F - L ...
- AtCoder题解——AtCoder Regular Contest 107——B - Quadruple
题目相关 题目链接 AtCoder Regular Contest 107 B 题,https://atcoder.jp/contests/arc107/tasks/arc107_b. Problem ...
- AtCoder Regular Contest 071 D - 井井井 / ###
题目:http://arc071.contest.atcoder.jp/tasks/arc071_b 题意: 有一个二维的平面,给你xn根竖线和ym根横线,问这些线围成的长方形(正方形)的面积和(要求 ...
- AtCoder Regular Contest 062 E - AtCoDeerくんと立方体づくり / Building Cubes with AtCoDeer
题目传送门:https://arc062.contest.atcoder.jp/tasks/arc062_c 题目大意: 给你\(N\)块正方形木板,每块木板四角有四种颜色(可以相同),木板中央有编号 ...
- AtCoder Regular Contest 058
这个应该是第一场有英文的atcoder吧??不过题解却没有英文的... 从前往后慢慢做... C こだわり者いろはちゃん / Iroha's Obsession 数据范围这么小,直接暴力 #inclu ...
最新文章
- import static和import的区别
- oozie 重新提交作业
- 如何获取iOS设备的IP地址
- python web自动化_Selenium+Python Web自动化
- java 反射解析xml_java反射获取xml元素
- Linux内核参数的介绍
- 用户需求、己、竞争对手的关系
- shell编程之进阶篇五函数
- 远程查看室内亮暗情况
- android sensor源码,阅读android有关sensor的源码总结 - JerryMo06的专栏 - CSDN博客
- JavaScript学习总结(13)——JavaScript常用正则表达式
- 原生JS实现粘贴到剪贴板
- 全屏 虚拟机_不用虚拟机直接在线用的 Linux,统统都在这里!
- Uber和Lyft推个人验证PIN码功能降接送混乱
- Code jock使用笔记
- 虚拟显示器软件(win10及以上)
- 郝兵c语言_郝斌C语言自学教程(全套)
- no jdk specified
- 爱查快递API使用讲解
- C++初学者遇到的LNK1120无法解析的外部命令部分可能原因
热门文章
- java地址映射关系,Spring MVC——基础(简介,使用,地址映射)
- 她花了8个月让骗子爱上自己,然后把骗子引到警察局......
- 数学特级教师:数学除了做题目,我还必须让他们看这些!
- 82 个代码案例实践,带你学好 Python 机器学习
- 逻辑回归算法背后的数学
- linux获取tomcat进程,Shell 获取Tomcat进程号
- 开线程插数据_python笔记7-多线程之线程同步(锁lock)
- leetcode1047. 删除字符串中的所有相邻重复项
- 如何将nodejs项目程序部署到阿里云服务器上
- [设计模式]依赖倒转原则