文章目录

  • 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相关推荐

  1. AtCoder Regular Contest 061 E - Snuke‘s Subway Trip(建图 + dijkstra最短路 / 0/1bfs / 并查集)

    AtCoder Regular Contest 061 E - Snuke's Subway Trip problem 洛谷翻译 my idea 最近一直在做网络流,所以一读这题后,我就想到了最小费用 ...

  2. AtCoder Regular Contest 065

    AtCoder Regular Contest 065 C - Daydream Score : 300300300 points 倒着来就行了,正着来会产生歧义匹配,dreamer,dreamdre ...

  3. AtCoder Regular Contest 100 D - Equal Cut 思维 + 前缀和

    传送门 文章目录 题意: 思路: 题意: 给你一个数组aaa,你要将其分成四份,让这四份中和的最大值−-−最小值最小,输出这个最小值. n≤2e5,ai≤1e9n\le2e5,a_i\le1e9n≤2 ...

  4. 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 ...

  5. 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 ...

  6. AtCoder题解——AtCoder Regular Contest 107——B - Quadruple

    题目相关 题目链接 AtCoder Regular Contest 107 B 题,https://atcoder.jp/contests/arc107/tasks/arc107_b. Problem ...

  7. AtCoder Regular Contest 071 D - 井井井 / ###

    题目:http://arc071.contest.atcoder.jp/tasks/arc071_b 题意: 有一个二维的平面,给你xn根竖线和ym根横线,问这些线围成的长方形(正方形)的面积和(要求 ...

  8. AtCoder Regular Contest 062 E - AtCoDeerくんと立方体づくり / Building Cubes with AtCoDeer

    题目传送门:https://arc062.contest.atcoder.jp/tasks/arc062_c 题目大意: 给你\(N\)块正方形木板,每块木板四角有四种颜色(可以相同),木板中央有编号 ...

  9. AtCoder Regular Contest 058

    这个应该是第一场有英文的atcoder吧??不过题解却没有英文的... 从前往后慢慢做... C こだわり者いろはちゃん / Iroha's Obsession 数据范围这么小,直接暴力 #inclu ...

最新文章

  1. import static和import的区别
  2. oozie 重新提交作业
  3. 如何获取iOS设备的IP地址
  4. python web自动化_Selenium+Python Web自动化
  5. java 反射解析xml_java反射获取xml元素
  6. Linux内核参数的介绍
  7. 用户需求、己、竞争对手的关系
  8. shell编程之进阶篇五函数
  9. 远程查看室内亮暗情况
  10. android sensor源码,阅读android有关sensor的源码总结 - JerryMo06的专栏 - CSDN博客
  11. JavaScript学习总结(13)——JavaScript常用正则表达式
  12. 原生JS实现粘贴到剪贴板
  13. 全屏 虚拟机_不用虚拟机直接在线用的 Linux,统统都在这里!
  14. Uber和Lyft推个人验证PIN码功能降接送混乱
  15. Code jock使用笔记
  16. 虚拟显示器软件(win10及以上)
  17. 郝兵c语言_郝斌C语言自学教程(全套)
  18. no jdk specified
  19. 爱查快递API使用讲解
  20. C++初学者遇到的LNK1120无法解析的外部命令部分可能原因

热门文章

  1. java地址映射关系,Spring MVC——基础(简介,使用,地址映射)
  2. 她花了8个月让骗子爱上自己,然后把骗子引到警察局......
  3. 数学特级教师:数学除了做题目,我还必须让他们看这些!
  4. 82 个代码案例实践,带你学好 Python 机器学习
  5. 逻辑回归算法背后的数学
  6. linux获取tomcat进程,Shell 获取Tomcat进程号
  7. 开线程插数据_python笔记7-多线程之线程同步(锁lock)
  8. leetcode1047. 删除字符串中的所有相邻重复项
  9. 如何将nodejs项目程序部署到阿里云服务器上
  10. [设计模式]依赖倒转原则