AtCoder Regular Contest 059
文章目录
- C - Be Together
- D - Unbalanced
- E - Children and Candies
- F - Unhappy Hacking
题目链接
C - Be Together
200200200分 结论
直接取所有数的平均数,由于需要是整数,所以算一下mid,mid+1,mid−1mid,mid+1,mid-1mid,mid+1,mid−1,取最小值即可。
代码
D - Unbalanced
400400400分 结论
不难发现如果有一段是合法的那么一定存在长度为222或者333的串合法,直接找即可。
代码
E - Children and Candies
800800800分 dpdpdp + 前缀和优化
题面太阴间了,简单解释一下。
有nnn个小朋友,ccc个糖果,如果第iii个小朋友分了aaa个糖果,那么他得到的快乐值是xiax_{i}^axia,一个幼儿园的快乐值是小朋友快乐值乘积,定义f(x1,x2,...,xn)f(x_1,x_2,...,x_n)f(x1,x2,...,xn)为一个幼儿园的快乐值,现在让你计算:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-d6J2qEfu-1645840763184)(C:\Users\Libra_Glow\AppData\Roaming\Typora\typora-user-images\image-20220226094553741.png)]
显然考虑dpdpdp,dp[i][j][k][p]dp[i][j][k][p]dp[i][j][k][p] 表示到第iii个人,已经分了jjj个,要分给他kkk个,当前选了xi=px_i=pxi=p,转移方程也比较明显dp[i][j][k][p]+=∑t=0j−k∑h=ai−1bi−1dp[i−1][j−k][t][h]dp[i][j][k][p]+=\sum_{t=0}^{j-k}\sum_{h=a_{i-1}}^{b_{i-1}}dp[i-1][j-k][t][h]dp[i][j][k][p]+=∑t=0j−k∑h=ai−1bi−1dp[i−1][j−k][t][h],可以发现对于第三维和第四维我们可以使用前缀和优化掉,更进一步可以发现根本不需要存第三维和第四维,直接记dp[i][j]dp[i][j]dp[i][j]即可,预处理一下[ai,bi][a_i,b_i][ai,bi]的区间取某个幂次的和即可,复杂度可以降到O(n3)O(n^3)O(n3)
代码
F - Unhappy Hacking
800800800分 dpdpdp
直接考虑dp[i][j]dp[i][j]dp[i][j]表示用了iii次操作,匹配到了第jjj位,一开始没想出来,因为是将jjj放到了第一层循环,以长度作为dpdpdp决策的转移,也就是考虑dp[i][j],dp[k][j−1]dp[i][j],dp[k][j-1]dp[i][j],dp[k][j−1],这样显然是不好搞的,考虑反过来,以操作次数作为决策点,i−1−>ii-1 -> ii−1−>i只进行了一次操作,显然就只有三个情况,我们依次考虑:
- dp[i][j]+=dp[i−1][j−1]dp[i][j]+=dp[i-1][j-1]dp[i][j]+=dp[i−1][j−1] 当前操作打111或者000,根据第jjj位确定
- dp[i][j]+=dp[i−1][j+1]∗2dp[i][j]+=dp[i-1][j+1]*2dp[i][j]+=dp[i−1][j+1]∗2 当前操作选择按回退,因为我们并不关心j+1j+1j+1位是000还是111,所以需要乘222。
注意j=0j=0j=0的时候还需要加上f[i−1][0]f[i-1][0]f[i−1][0]。
复杂度O(n2)O(n^2)O(n2)
代码
还有一种比较巧妙的方法,可以知道长度为lenlenlen的字符串出现的概率都相等,所有情况是2len2^{len}2len,所以我们如果能求出来所有的情况,除上2len2^{len}2len即可。
设dp[i][j]dp[i][j]dp[i][j]表示用了iii次操作,长度为jjj的方案数,直接写转移了:
- dp[i][j]+=dp[i−1][j−1]∗2dp[i][j]+=dp[i-1][j-1]*2dp[i][j]+=dp[i−1][j−1]∗2 当前操作打1,01,01,0,所以需要乘222
- dp[i][j]+=dp[i−1][j+1]dp[i][j]+=dp[i-1][j+1]dp[i][j]+=dp[i−1][j+1] 按回退,由于f[i−1][j+1]f[i-1][j+1]f[i−1][j+1]的方案就已经包含了j+1j+1j+1是0,10,10,1的两种情况,所以不需要乘222。
复杂度O(n2)O(n^2)O(n2)
代码
AtCoder Regular Contest 059相关推荐
- 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 ...
- AtCoder Regular Contest 061 E - Snuke‘s Subway Trip(建图 + dijkstra最短路 / 0/1bfs / 并查集)
AtCoder Regular Contest 061 E - Snuke's Subway Trip problem 洛谷翻译 my idea 最近一直在做网络流,所以一读这题后,我就想到了最小费用 ...
- 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 ...
最新文章
- r怎么保存html文件,leaflet - 为什么在已保存的html文件中缺少传单地图上的杂项,但在Rstudio浏览器中可以正常打印呢? - 堆栈内存溢出...
- IDEA常用快捷键整理20191105
- oracle 安装及使用方法,Oracle安装及使用小结
- uni-app文档需要注意细节点
- 用插件的形式编写升级版 jquery_select_interval.js 源码
- mysql 多个库一起导出_MYSQL 导出多个库
- python中urllib.parse啥意思_python-urllib.parse模块简述
- Oracle中varchar2(20)和varchar2(20 byte)区别
- 三层交换机对链路层数据帧的处理
- (十一)JAVA springboot ssm b2b2c多用户商城系统 - SSO单点登录之OAuth2.0登录流程(2)
- Spring(十六)之MVC框架
- apache如何加载系统环境变量_游学电子:windows10系统如何用cmd指令设置环境变量...
- 魔兽怀旧服服务器怎么修改,魔兽世界怀旧服今日开服 魔兽世界怀旧服剥皮制皮玩法攻略 怀旧服服务器连不上怎么办?...
- 电池SOC预估存在哪些难题以及常用方法
- java原始人赛车,原始人赛车
- Sprite 3D用法和相关特性详解
- 从视频中提取图片(截取ppt)
- 使用gpg来加密数据
- Java解一元一次方程,一元二次方程,一元三次方程
- 软件测试笔记——如何测试登陆界面
热门文章
- php 读取三级分类,php excel 导入 导入三级分类 表格应该怎么设计才能得到想要的数据格式?汗血宝马...
- 遇到可爱女生如何搭讪?
- 别太贪婪,这些技能能让你一辈子满足
- 数学无用论??我们欠孩子真正的数学阅读
- 《SAS编程与数据挖掘商业案例》学习笔记之十八
- 按照学号查找学生_[源码和文档分享]基于JAVA和MYSQL数据库的学生成绩管理系统...
- 是否显示展开_Creo7.0教程之绝对精度对钣金件展开的作用详解
- 表3.5 文章管理测试用例表_本地管理表空间管理机制
- redis session java获取attribute_redis里的数据结构
- 小学计算机课教学设计,小学信息技术教学设计三篇