HYNB Contest 7:2017 Asia HCMC Vietnam National Programming Contest
A. Another Query on Array Problem
B. Board Covering
C. Cumulative Sums
题意
- \(A_1=1,A_i=A_{i-1}+sod(A_{i-1}),sod(X)\)为\(X\)的十进制数位和
- \(S_n=\sum_{i=1}^{n}A_i\),求\(S_n\)模\(10^9+7\),\(n≤10^{15}\)
做法
- 先考虑怎么求\(A_n\)的值
- 初步想法:把\(A_i\)拆成高位和低位,设高位为\(X\),固定高位,那么对低位的影响就是每次多加了个\(sod(X)\),直到加到对高位有进位时,\(sod(X)\)发生了改变。可以把低位调大点使得每次只会向高位进位一个1,因为\(sod(X)\)很小,所以可以dp出所有状态,即\(dp[i][j]\)表示低位为\(i\),\(sod(X)\)为\(j\),一直加到向高位进位为止转移的次数以及进位之后的低位是哪个数。这样高位可以O(1)转移了,然而这样复杂度还是非常高。
- 比赛时思路就卡在了这里,认为如果继续对高位再拆分成若干段的话,那么对于每一段,我需要dp的时候记录所有低位的值,那么状态数其实和不拆分是一样的,没什么卵用
- 其实分析一下就会发现,我们并不需要记录低位的所有可能的值,只需要记录刚进位之后低位的值就可以转移了呀,这样每一段状态数就很少了,为啥没想到。。。
- 于是直接把低3位划分成一段,其他每一位一段就好了,求和的话多记录个和就好了
D. Delicious Bubble Tea
签到
E. European Trip
做法
- 可以费马点。但不会。
- 三分套三分。
F. Familiar Digit
- 思路挺直接的一个经典的数位dp,但是调了比较久,有点蠢
G. Ginger Candy
做法
- 注意到数据范围。
- 只需考虑最小生成树权值前 2 小的非树边。
H. Nim Cheater
题意 n 堆石头,选择至多 n-2 堆石头,每堆石头弃置若干个,求 xor 等于 0 方案数。
做法
- 只需造轮子求满足 \(0\leq x_i\leq a_i\),xor 和为 k 的 x 序列方案数,就无敌了。抓着轮子求【总的方案数】-【都不相等的方案数】-【恰有一堆相等的方案数】即可。
- 怎么造轮子?
- 从高位到地位逐位考虑,当前在考虑第 B 位,考虑这位上为 1 的所有数字,如果某个数字在这位(第 B 位)设为了 0,那么其它数字的第 B-1 至第 0 位可以乱填,第 B 位乱填不得,我们来做个简单的 DP。
- \(f[i][0/1]\) 表示考虑确定下前 \(i\)个(第 B 位为 1的)数字,其中奇数/偶数个数字第 B 位填 1 的方案数。
- 第 B 位全填 1 是不可取的!因为至少得保证有一个填 0。
- 全填 1 递归到下一层解决。
I. Integer Rotation
J. Jewelry Box
做法 求导,求极值。
K. Keep the Parade Safe
- 求一下严格凸包,对严格凸包只有三个点的情况分类讨论
L. Let's Play Monopoly!
- 赛中:好难,不可做
- 赛后:怎么他们AC代码长度只有800?再好好想想!
- 自闭若干小时后:tmd读错题了吧!
- 重读了一遍题之后:题意没毛病啊?咋回事啊?
- 瞅了眼数据范围:\(u_i<v_i\),没环,SB题
HYNB Contest 7:2017 Asia HCMC Vietnam National Programming Contest的更多相关文章
- Codeforces Gym101606 A.Alien Sunset (2017 United Kingdom and Ireland Programming Contest (UKIEPC 2017))
2017 United Kingdom and Ireland Programming Contest (UKIEPC 2017) 寒假第一次组队训练赛,和学长一起训练,题目难度是3颗星,我和猪队友写 ...
- 2017, X Samara Regional Intercollegiate Programming Contest 题解
[题目链接] A - Streets of Working Lanterns - 2 首先将每一个括号匹配串进行一次缩减,即串内能匹配掉的就匹配掉,每个串会变成连续的$y$个右括号+连续$z$个左括号 ...
- 最长上升子序列:2016 Pacific Northwest Region Programming Contest—Division 2 Problem M
Description A string of lowercase letters is calledalphabeticalif deleting zero or more of its lette ...
- 2017 United Kingdom and Ireland Programming Contest (UKIEPC 2017)
A. Alien Sunset 暴力枚举答案即可. #include<cstdio> int n,i,mx; struct P{ int h,r,t; bool night(int x){ ...
- 2019.04.11 第四次训练 【 2017 United Kingdom and Ireland Programming Contest】
题目链接: https://codeforces.com/gym/101606 A: ✅ B: C: ✅ D: ✅ https://blog.csdn.net/Cassie_zkq/article/ ...
- [寒假集训第一场]gym101606 2017 United Kingdom and Ireland Programming Contest (UKIEPC 2017)
3星场 难度在于英文题面太难读懂了QAQ 看样例猜题意的我 博客园的c++主题真丑 A Alien Sunset \(description\) 有\(n\)个星球,每个星球自转时间不一样,所以一天的 ...
- Codeforces Gym101606 C.Cued In (2017 United Kingdom and Ireland Programming Contest (UKIEPC 2017))
C Cued In 这个题是打球的.都忘了写的什么了... 代码: 1 #include<iostream> 2 #include<cstring> 3 #include< ...
- Codeforces Gym101606 J.Just A Minim (2017 United Kingdom and Ireland Programming Contest (UKIEPC 2017))
J Just A Minim 超级无敌大水题,但是被精度卡了一手,输出要精确到小数点后6位,我直接输出的... 代码: 1 #include<iostream> 2 #include< ...
- Codeforces Gym101606 I.I Work All Day (2017 United Kingdom and Ireland Programming Contest (UKIEPC 2017))
I I Work All Day 这个题就是取模找最小的. 代码: 1 #include<iostream> 2 #include<cstdio> 3 #include< ...
随机推荐
- 《DNS攻击防范科普系列3》 -如何保障 DNS 操作安全
引言 前两讲我们介绍了 DNS 相关的攻击类型,以及针对 DDoS 攻击的防范措施.这些都是更底层的知识,有同学就来问能否讲讲和我们的日常操作相关的知识点,今天我们就来说说和我们日常 DNS 操作相关 ...
- css Sticky footers
写在前面 做过网页开发的同学想必都遇到过这样尴尬的排版问题:在主体内容不足够多或者未完全加载出来之前,就会导致出现(图一)的这种情况,原因是因为没有足够的垂直空间使得页脚推到浏览器窗口最底部.但是,我 ...
- 【转载】API权限设计总结
本文内容转自:http://blog.csdn.net/initphp/article/details/8636669 API权限设计总结: 最近在做API的权限设计这一块,做一次权限设计的总结. 1 ...
- P2004 领地选择
P2004 领地选择 题目描述 作为在虚拟世界里统帅千军万马的领袖,小Z认为天时.地利.人和三者是缺一不可的,所以,谨慎地选择首都的位置对于小T来说是非常重要的. 首都被认为是一个占地C*C的正方形. ...
- Centos7.5安装分布式Hadoop2.6.0+Hbase+Hive(CDH5.14.2离线安装tar包)
Tags: Hadoop Centos7.5安装分布式Hadoop2.6.0+Hbase+Hive(CDH5.14.2离线安装tar包) Centos7.5安装分布式Hadoop2.6.0+Hbase ...
- [转] .htaccess实现www 与没有www之间的重定向
建站过程中有时候我们需要做这些设置 1.访问www 直接重定向到没有www上或者反过来,那么怎么通过.htaccess文件来实现呢. 1.首先服务器要支持Rewrite重写 2.创建.htaccess ...
- 基于Netty的RPC架构学习笔记(一):NIO
文章目录 传统的socket分析 举个
- CodeForces1249B1/B2-Books Exchange-dfs-一般搜索+记忆化搜索
一般搜索 注意:一般定义成void Books Exchange (easy version) CodeForces - 1249B2 The only difference between eas ...
- A1016 Phone Bills (25 分)
A long-distance telephone company charges its customers by the following rules: Making a long-distan ...
- 创建第一个spirngmvc小项目
题外: 设置目录为源代码目录 1.进入:file->project structure->modules->soures 进入这个里面,选择相应的文件夹.例如src/java里的ja ...