[Russian Code Cup 2017 - Finals [Unofficial Mirror]]简要题解
来自FallDream的博客,未经允许,请勿转载,谢谢。
Div1难度+ACM赛制 和几个大佬组队逛了逛
A.给一个大小为n的集合ai(1<=ai<=1000000),要求你构造一个大小同样为n且值域相同的数组b,满足ai+bj没有相同的。
T<=100 n<=100
暴力,从小到大枚举过去,可以选就选。
复杂度T(n^3+10^6)
B.给你n个字符串,要求你选一些前缀构成一个前缀集合,满足不存在两个前缀,其中一个去掉首字母之后变成另一个。求集合最大大小。
n<=10^6 总长度<=10^6
首先建trie树,然后暴力找出最多O(n)条不能同时存在的条件。
发现这些条件构成一棵树,所以求树的最大点独立集就行了。
C.给你n个数字,问有多少种排列,满足把数字接起来之后是11的倍数。
n<=2000 ai<=10^9
接一个数相当于乘上10的某一次方然后加上一个数。
发现10的次方膜11意义下只有两种取值,而且是1和10(-1),把10的那些拿出来,这些数字会把数字序列分城一些段,每一段里面数字的贡献是1或者-1,并且两者分别的段数已知。
首先求10的那些的排列数,然后考虑把1的那些填到每一段里面,有一个dp:
f[i][j][k]表示前i个1的数,j个填到了贡献是1的段里面,现在总和膜11是k的方案数。然后就没啦。
复杂度(11n^2)
D.给一棵大小为n的数和m条链,每条链有一个价值。你要选择一些链,满足这些链不相交且价值和最大。
n,m<=2*10^5
考虑一个dp,f[i]表示只选在i的子树内的链的最大价值,然后每条链放到lca处做。
对于每个点,考虑用以这个点为lca的链来转移,那么选择这条链之后还能选的是若干个子树,现在我只需要快速求这些子树的f[]的和就行了。
那么考虑树剖,然后每个点维护它的所有轻儿子的f[]的和,这样可以配合线段树在log^2时间内求出这个信息,这样我们就做完了。
代码cf找咯
[Russian Code Cup 2017 - Finals [Unofficial Mirror]]简要题解的更多相关文章
- 2017 Russian Code Cup (RCC 17), Final Round
2017 Russian Code Cup (RCC 17), Final Round A Set Theory 思路:原题转换一下就是找一个b数组,使得b数组任意两个数的差值都和a数组任意两个数的差 ...
- Bubble Cup 12 - Finals Online Mirror, unrated, Div. 1
Bubble Cup 12 - Finals Online Mirror, unrated, Div. 1 C. Jumping Transformers 我会状压 DP! 用 \(dp[x][y][ ...
- Bubble Cup 11 - Finals [Online Mirror, Div. 1]题解 【待补】
Bubble Cup 11 - Finals [Online Mirror, Div. 1] 一场很好玩的题啊! I. Palindrome Pairs 枚举哪种字符出现奇数次. G. AI robo ...
- 2017 Russian Code Cup (RCC 17), Elimination Round D - Acute Triangles
D - Acute Triangles 思路: 极角排序+点积叉积 在一个三角形中,如果它是直角或者顿角三角形,那么直角和顿角只会出现一次 所以直角和顿角三角形的个数等于直角和顿角的个数 所以锐角三角 ...
- Codeforces Bubble Cup 8 - Finals [Online Mirror] B. Bribes lca
题目链接: http://codeforces.com/contest/575/problem/B 题解: 把链u,v拆成u,lca(u,v)和v,lca(u,v)(v,lca(u,v)是倒过来的). ...
- Codeforces Bubble Cup 8 - Finals [Online Mirror]H. Bots 数学
H. Bots Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/575/problem/H Desc ...
- Codeforces Bubble Cup 8 - Finals [Online Mirror] D. Tablecity 数学题
D. Tablecity Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/575/problem/D ...
- Codeforces Bubble Cup 8 - Finals [Online Mirror] F. Bulbo DP
F. Bulbo Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/575/problem/F Des ...
- VK Cup 2015 - Finals, online mirror D. Restructuring Company 并查集
D. Restructuring Company Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/5 ...
随机推荐
- python脚本,计算起点终点高程
import arcpy >>> import arcpy ... gd="D:/项目/shp/Pipe.gdb/ZK/GDPOINT" ... gx=" ...
- Node入门教程(4)第三章:第一个 Nodejs 程序
第一个 Nodejs 程序 本教程仅适合您已经有一定的JS编程的基础或者是后端语言开发的基础.如果您是零基础,建议您先学一下老马的前端免费视频教程 第一步:创建项目文件夹 首先创建 demos 文件夹 ...
- Python之旅.第三章.函数3.29
一.无参装饰器 1 开放封闭原则 软件一旦上线后,就应该遵循开放封闭原则,即对修改源代码是封闭的,对功能的扩展是开放的 也就是说我们必须找到一种解决方案: 能够在不修改一个功能源代码以及调用方式的前提 ...
- lua保存table到文件并从文件解析成table
require("json") result = { ["ip"]="192.168.0.177", ["date"]= ...
- java实现图片压缩
java实现图片压缩 package Test; import java.awt.Image; import java.awt.image.BufferedImage; import java.io. ...
- 机器学习中的K-means算法的python实现
<机器学习实战>kMeans算法(K均值聚类算法) 机器学习中有两类的大问题,一个是分类,一个是聚类.分类是根据一些给定的已知类别标号的样本,训练某种学习机器,使它能够对未知类别的样本进行 ...
- 搭建一个web服务下载HDFS的文件
需求描述 为了能方便快速的获取HDFS中的文件,简单的搭建一个web服务提供下载很方便快速,而且在web服务器端不留临时文件,只做stream中转,效率相当高! 使用的框架是SpringMVC+HDF ...
- leetcode算法: Find All Duplicates in an Array
Given an array of integers, 1 ≤ a[i] ≤ n (n = size of array), some elements appear twice and others ...
- mybatis批量插入
<insert id="insertBatch" parameterType="java.util.List" > insert into biz_ ...
- centos系统升级PHP版本程序
鉴于Centos 默认yum源的php版本太低了,手动编译安装又有点一些麻烦,那么如何采用Yum安装的方案安装最新版呢.那么,今天我们就来学习下如何用yum安装php最新版. 1.检查当前安装的PHP ...