AtCoder Regular Contest 061
AtCoder Regular Contest 061
C.Many Formulas
题意
- 给长度不超过\(10\)且由\(0\)到\(9\)数字组成的串S。
- 可以在两数字间放\(+\)号。
- 求所有方案的数字和。
思路
- \(2^{|S|-1}\)枚举加号的放置状态
代码
D.Snuke's Coloring
题意
- 在一个\(H \times W(3 \le H,W \le 10^9)\)的棋盘上,有\(N(N \le 10^5)\)个格子被染成黑色,其余格子为白色。
- 求在所有\(3 \times 3\)的子矩形中黑色格子个数分别为\(0,1,...,9\)的个数。
思路
- 考虑每个黑色格子作为\(3 \times 3\)矩形中的其中一个格子,求对应矩形的黑色格子数。如果当前矩形的黑色格子数为\(x\),则该格子会被计数\(x\)次。
- \(0\)的矩形个数由总方案减去有黑色格子的方案数。
代码
E.Snuke's Subway Trip
题意
- 一张图,有\(N(N \le 10^5)\)个点,\(M(M \le 2 \times 10^5)\)条边。
- 每条边有一种颜色\(c_i\)。
- 假设通过颜色\(i\)走到节点\(u\),当\(u\)要走到相邻节点时,如果经过的边仍为颜色\(i\),则费用为0,否则需要代价1。
- 求从节点1走到节点N的最小花费。
思路
- 假设与\(u\)有关的边的颜色有\(x\)种,则将点拆成\(u_{c1}, u_{c2},...,u_{cx}\)个点。
- 将点\(u\)设置成总点,与\(u_{ci}\)连边,费用为1。
- 假设\(u\)走到\(v\),颜色为\(C\),则\(u_C\)与\(v\)连边,费用为0;\(u_C\)与\(v_C\)连边,费用为0。
- 最后跑一遍单源最短路即可。
代码
F.Card Game for Three
题意
- Alice、Bob和Charlie分别有\(N,M,K(N,M,K \le 3 \times 10^5)\)张牌,每张牌有一个字母(a,b或c)。
- 三个人轮流出牌,牌上的数字代表下一个出牌的玩家。
- 若当前要出牌的玩家没有牌,则该玩家获胜。
- Alice先出牌,求在所有可能的方案中Alice获胜的方案数。
思路
- 出牌顺序看成一串abc的序列,第一个达到手牌上限的人获胜,假设Alice获胜,那么a出现了\(N+1\)次。因为Alice先手,所以第一个总是固定为a,那么去掉第一个后a出现\(N\)次。
- 考虑游戏结束时三个人共打出了\(i\)张牌,可以得到3个信息:
- 最后一张牌必然是a;
- b和c的出现次数不超过\(M,K\);
- b和c不会同时超出上限。
- 先从\(i-1\)选\(N-1\)位置放a;剩下的位置放置b和c,总方案数为\(2^{i-N}\),考虑去掉不合法的方案,即b或c超过上限的方案数,小数据可以暴力求,对于b来说,枚举\([M+1, i-N]\)的出现次数,c同理。对于大数据来说,假设长为\(i-1\)中b不合法的方案数为\(fb\),那么当前多了一个填充bc的位置,这个位置可以填bc,方案仍为不合法的方案,此时b的个数大于\(M+1\),还要求b的个数刚好为\(M+1\)的不合法方案数。
代码
AtCoder Regular Contest 061的更多相关文章
- AtCoder Regular Contest 061 DSnuke's Coloring
http://arc061.contest.atcoder.jp/tasks/arc061_b 题意: H行W列的矩阵中,然后挖了n个洞,输出j(0-9)行,对于第i行输出,有多少个3*3区域中有i个 ...
- Atcoder Regular Contest 061 D - Card Game for Three(组合数学)
洛谷题面传送门 & Atcoder 题面传送门 首先考虑合法的排列长什么样,我们考虑将每次操作者的编号记录下来形成一个序列(第一次 A 操作不计入序列),那么显然这个序列中必须恰好含有 \(n ...
- [Atcoder Regular Contest 061] Tutorial
Link: ARC061 传送门 C: 暴力$dfs$就好了 #include <bits/stdc++.h> using namespace std; typedef long long ...
- AtCoder Regular Contest 061 E - すぬけ君の地下鉄旅行【最短路】
具体题解又要搬大哥的了,嘿嘿~ 请点击:G点我 这道题目的难点就是同一家公司的路直接走不需要再花费,然后多了一个公司这个东西,这个不像是边的副权值(瞎说的)之类的东西,这是对于路来说的,路的属性... ...
- AtCoder Regular Contest 094 (ARC094) CDE题解
原文链接http://www.cnblogs.com/zhouzhendong/p/8735114.html $AtCoder\ Regular\ Contest\ 094(ARC094)\ CDE$ ...
- AtCoder Regular Contest 092
AtCoder Regular Contest 092 C - 2D Plane 2N Points 题意: 二维平面上给了\(2N\)个点,其中\(N\)个是\(A\)类点,\(N\)个是\(B\) ...
- AtCoder Regular Contest 093
AtCoder Regular Contest 093 C - Traveling Plan 题意: 给定n个点,求出删去i号点时,按顺序从起点到一号点走到n号点最后回到起点所走的路程是多少. \(n ...
- AtCoder Regular Contest 094
AtCoder Regular Contest 094 C - Same Integers 题意: 给定\(a,b,c\)三个数,可以进行两个操作:1.把一个数+2:2.把任意两个数+1.求最少需要几 ...
- AtCoder Regular Contest 095
AtCoder Regular Contest 095 C - Many Medians 题意: 给出n个数,求出去掉第i个数之后所有数的中位数,保证n是偶数. \(n\le 200000\) 分析: ...
随机推荐
- Android打开新的Activity并同时关闭当前Activity
Intent it = new Intent(); it.setClass(EditActivity.this, MainActivity.class); it.setFlags(Intent.FLA ...
- web安全测试-AppScan
安全测试应该是测试中非常重要的一部分,但他常常最容易被忽视掉. 尽管国内经常出现各种安全事件,但没有真正的引起人们的注意.不管是开发还是测试都不太关注产品的安全.当然,这也不能怪我们苦B的“民工兄弟” ...
- Android的R.java文件
1.Android资源管理简介: Android应用程序资源可以分为两大类,分别放在assets和res文件夹下.assets目录下保存的是一些原始的文件,可以以任何方式来进行组织.这些文件最终会被原 ...
- pager分页框架体会
<pg:pager> 元素的属性中: maxPageItems说的是每页偏移量是多少,这个并不是说每一页显示多少,而是第二页比第一页来说,在第一页的尾部增加多少,第一页又被覆盖多少,是决定 ...
- iis提示“另一个程序正在使用此文件,进程无法访问。(异常来自HRESULT:0x80070020)
看看IIS的网站,惊人的发现default web site是停止状态.印象中没有停止它啊.右键->管理网站->启动.点击启动后居然弹出:“另一个程序正在使用此文件,进程无法访问.(异常来 ...
- MongoDB C#驱动中Query几个方法 (转)
Query.All("name", "a", "b");//通过多个元素来匹配数组 Query.And(Query.EQ("nam ...
- CAD系统变量(参数)大全
所谓系统变量就是一些参数,这些参数有些是可以在“选项”或其他对话框中进行设置的,有些这必须通过在命令行输入变量名进行设置,当然对于高手来说,还可以通过二次开发程序来进行控制. CAD有很多的变量,例如 ...
- encodeURIComponent编码2次
最近在项目中发现前台在往anction中发送数据时进行两次encodeURIComponent,经过上网查找发现以下解释比较合理,mask过来,以供参考,非常感谢原作者!!! 两次encodeURIC ...
- C语言快速排序
复习快速排序,用C语言实现: #include <stdio.h> int quicksort(int begin, int end, int a[], int len); void ma ...
- 从Wireshark监听的数据中提取需要的数据
最近,需要将wireshark监听的数据进行提取,分两步:首先,应该得出wireshark的数据包吧,在图形化界面中可以非常直观的将监听数据进行存储,但是这样需要手动操作非常麻烦,而且容易出错(随着处 ...