SDU暑期集训排位(2)
A. Art
solved by sdcgvhgj 3min
签到
B. Biology
solved by sdcgvhgj 85min
暴力
C - Computer Science
solved by rdc 16min
题意 数轴上有一些点,求极短长度 x,使得存在 \(n\) 个区间,第 \(i\) 个区间包含 \(a_i\),包含的点数至少 \(k\) 个。
做法
- 每个区间相互独立。
- 对点排序。
- 用 \(x_{i+k-1} - x_i + 1\) 区间更新 \([x_i,x_{i+k-1}]\)
D. Drama
solved by rdc 183min -1
题意 题目说了半天告诉了我们这是一个先升后降柱状图,升最多升一格,否则解体。
做法
- 先识破高度是 \(O(\sqrt{n})\) 级别的。
- 对列做 DP,前缀后缀分开考虑。
- \(f[i][j]\) 表示用 \(i\) 个格子最后一列高度为 \(j\) 且相邻两格高度差小于等于 1 方案数。
- \(g[i][j]\) 表示用 \(i\) 个格子最后一列高度为 \(j\) 方案数。\(g\) 需要用前缀和优化。
- 复杂度 \(O(n\sqrt{n})\)
F.Small Numbers
solved by F0_0H 28min
题意 给两个数a,b,支持两种操作,(1)同时除公因子 (2)一个除,一个乘。要求操作完a,b和最小
题解 对a,b进行素数分解,对于每个数量为奇数的素因子,暴力枚举分给a或b即可
G.New Keyboard
solved by F0_0H 158min -2
题意 按照题意打印字符串
题解
- dp[i][j][0|1] 表示当前处理到第i个字符,且在第j个机器上,且上一次操作是打印或者换机器的最优解
- 直接转移会GG,但我们可以跑最短路,每个状态最多两条边判断打印还是跳转。
- dij加个log,复杂度有点炸,但还能苟过去
I. Acute Triangles
solved by sdcgvhgj 270min +11
题意 求n个点构成的锐角三角形个数
做法
- 答案为锐角个数减\(2*C_n^3\)
- 以每个点极角排序,尺取求以每条边开始的锐角个数
- 共线的时候夹角为0,被算进去了两次,所以对于共线的两个向量应该根据长度关系安排一个顺序
- 解体了2个小时之后把long long改long double莫名其妙卡过了,其实是极角排序的精度问题,之前一直用atan2判大小其实是有问题的,先判象限然后叉乘才是正确姿势
J.Joining Arrays
solved by F0_0H 261min -3
题意 给两个序列,分别选出一个子序列,并拼成一个长度为K的序列,要求字典序最小
题解 暴力加贪心
- 暴力枚举第一个序列选t个,那么第二个序列选k-t个
- 暴力从a序列里选出长度为t且字典序最小的子序列,b同理
- 考虑合并两个子序列,归并
- 1)队首元素不相等,直接选
- 2)队首元素相等,这个比较凉,但可以通过二分加序列哈希的方式判断出下一个不相等的位置,再贪心选即可
- 用合并后的序列更新答案
SDU暑期集训排位(2)的更多相关文章
- SDU暑期集训排位(9)
SDU暑期集训排位(9) G. Just Some Permutations 基础 DP 练习部分 定义 \(f(S)\),表示让 S 中的人全 happy 的方案数. \(dp[i][j]\) 表示 ...
- SDU暑期集训排位(5)
SDU暑期集训排位(5) A. You're in the Army Now 题意 类似选志愿.每个人有 mark,有优先级从高到低的志愿. 做法 定睛一看,鲨鼻题.然后 WA. 为什么会 WA 呢? ...
- SDU暑期集训排位(4)
SDU暑期集训排位(4) C. Pick Your Team 题意 有 \(n\) 个人,每个人有能力值,A 和 B 轮流选人,A 先选,B 选人按照一种给出的优先级, A 可以随便选.A 想最大化己 ...
- SDU暑期集训排位(8)
A. A Giveaway 签到 B. Game of XOR 做法 dp[G][L][R]表示在倒数第G代,左边的数是L,右边的数是R,下面共有多少个0和1 区间和转换成两次前缀和和一次单点查询 利 ...
- SDU暑期集训排位(3)
B. Mysterious LCM 做法 保留 \(a_i|x\) 的元素,其它元素解体. \(a_i\) 的某个质因子的指数,要和 \(x\) 的这个质因子一样多,才有贡献,否则这个质因子它在划水啊 ...
- 2014年CCNU-ACM暑期集训总结
2014年CCNU-ACM暑期集训总结 那个本期待已久的暑期集训居然就这种.溜走了.让自己有点措手不及.很多其它的是对自己的疑问.自己是否能在ACM这个领域有所成就.带着这个疑问,先对这个暑假做个总结 ...
- 8.10 正睿暑期集训营 Day7
目录 2018.8.10 正睿暑期集训营 Day7 总结 A 花园(思路) B 归来(Tarjan 拓扑) C 机场(凸函数 点分治) 考试代码 A B C 2018.8.10 正睿暑期集训营 Day ...
- 8.6 正睿暑期集训营 Day3
目录 2018.8.6 正睿暑期集训营 Day3 A 亵渎(DP) B 绕口令(KMP) C 最远点(LCT) 考试代码 A B C 2018.8.6 正睿暑期集训营 Day3 时间:5h(实际) 期 ...
- 8.9 正睿暑期集训营 Day6
目录 2018.8.9 正睿暑期集训营 Day6 A 萌新拆塔(状压DP) B 奇迹暖暖 C 风花雪月(DP) 考试代码 A B C 2018.8.9 正睿暑期集训营 Day6 时间:2.5h(实际) ...
随机推荐
- Python基础总结之第十天开始【认识一下python的另一个数据对象-----字典】(新手可相互督促)
看了大家的评论,还是有意外的收货.感谢每个小伙伴的评论与补充. 众人拾柴火焰高~ 今天的笔记是记录python中的数据对象----字典! 前面有讲到list列表和tuple元组的笔记,他们都是一样可以 ...
- Linux EXT2 文件系统
磁盘是用来储文件的,但是必须先把磁盘格式化为某种格式的文件系统,才能存储文件.文件系统的目的就是组织和管理磁盘中的文件.在 Linux 系统中,最长见的是 ext2 系列的文件系统.其早期版本为 ex ...
- EasyUI combobox下拉列表实现搜索过滤(模糊匹配)
项目中的某个下拉列表长达200多个项,这么巨大的数量一个一个找眼镜都得看花,于是就得整了个搜索功能.看网上别人帖子有只能前缀匹配的方案,但只能前缀匹配的话用起来也不是很方便.于是就记录一下模糊匹配的方 ...
- interceptor拦截器
fifter.servlet.interceptor fifter用来处理请求头.请求参数.编码的一些设置,然后转交给servlet,处理业务,返回 servlet现在常用的spring,servle ...
- Java equal() 和 == 详细分析
1 == 返回值是true/false; (1) 基本数据类型比较的就是值(2)引用型数据类型就是地址值 public class Test1 { public static void main(S ...
- 喜大普奔 | 微信小程序支持PC端打开了
微信小程序可以在PC端打开啦 微信PC版发布了v2.7.0测试版,其中一个重磅的功能就是:支持打开聊天中分享的小程序 咖啡君这么喜欢尝鲜的人自然是在第一时间下载进行了体验 安装成功,会有功能更新说明 ...
- java并发编程(十七)----(线程池)java线程池架构和原理
前面我们简单介绍了线程池的使用,但是对于其如何运行我们还不清楚,Executors为我们提供了简单的线程工厂类,但是我们知道ThreadPoolExecutor是线程池的具体实现类.我们先从他开始分析 ...
- Vue系列:.sync 修饰符的作用及使用范例
作用:对传递给子组件的 prop 数据进行“双向绑定”.(正常情况下,prop 的数据都是单向数据流) 代码参考如下: 父组件部分 子组件部分
- 解决 Android 中出现依赖多个版本支持库的问题
在 app 的 build.gradle 中引入依赖时发现如下错误: All com.android.support libraries must use the exact same version ...
- 10分钟安装Elasticsearch
关注公众号 itweknow,回复"ES"获取<Elasticsearch权威指南 中文版>. 最近在尝试着搭建一个ELK(一个开源的实时日志分析平台),而本文所讲的E ...