NOI2015 Day2
NOI2015 Day2
荷马史诗
题目描述:给出\(n\)个数,要求\(n\)个\(k\)进制数来对应这\(k\)个数(允许有前导零),\(n\)个\(k\)进制数互不为前缀,求\(n\)个数乘以对应的\(k\)进制数长度总和最小值,并求最小值下\(k\)进制数的最长的最小值。
solution:
\(k\)叉哈夫曼树,当\(n \not \equiv 1 (mod (k-1))\)时,补零时条件成立,然后类比二叉的做法即可。
时间复杂度:\(O(nlogn)\)
品酒大会
题目描述:给出一个字符串,第\(i\)个字符对应的值为\(a[i]\), 对于\(i \in [0, n)\),求最长公共前缀大于等于\(i\)的字串对个数,并求这些字符串对开头对应值相乘最大值。
solution:
后缀数组求出\(Height[i]\),根据\(sa\)对字符串重标号,\(Height[i]\)就是第\(i\)个字符串与第\(i-1\)个字符串的最长公共前缀,枚举最长公共前缀\(len\),对于\(Height[i]=len\)的\(i\),用并查集链接\(i\)与\(i-1\),并更新答案与最大值。注意:字符对应值可能是负值,所以还要记最小值。
时间复杂度:\(O(n)\)或\(O(nlogn)\)
小园丁与老司机
题目描述:给出平面上的\(n\)个点,点的纵坐标均大于\(0\),从原点出发,每次从左、右、上、左上\(45^{\circ}\)、右上\(45^{\circ}\)
选择一个方向(该方向必须有一个点),走到该方向最近的点,然后继续选择方向走,如此类推,直到不能走为止。求最多能走多少个点(不计原点),并输出一条可行路径。找出所有最长路径上的非左右方向的边,求覆盖所有边的最少路径数(路径只能包含非左右方向的边)
solution:
预处理出每个点在非左右方向离该点最近的点,然后以纵坐标为第一关键字,横坐标为第二关键字排序。以纵坐标为阶段做dp,同层的也做dp。这里只讲同层如何dp。
枚举从哪一个点向上走(\(i\)),假设之前在下一层往上走到\(j\),如果\(x_j<x_i\),那么与\(i\)同层的,且在\(i\)左边的都可以到达(从\(j\)走到同层的最左边,然后走到\(j+1\),再走到\(i\)),如果\(x_i<x_j\),那么与\(i\)同层的,且在\(i\)右边的都可以到达(从\(j\)走到同层的最右边,然后走到\(j-1\),再走到\(i\)),那么正向做一次,反向做一次就可以知道最大值了,同时记住方案。
根据方案将非左右方向的边找出,并构出新图,因为有可能多条最长路径同时经过某些边,因此每条边的下界为\(1\),做一次最小流即可。
NOI2015 Day2的更多相关文章
- noi2015的回忆和教训
前几天偶然打开了bzoj的rank list,突然发现——我竟然掉出了第一版!!! 自从我5月还是6月刷进第一版之后,我曾经天真的以为大概半年之内我还能保留在第一版内吧. 结果仅仅短短的4个月,我就已 ...
- NOI2015考试小结
这次NOI2015有幸获得金牌考进了国家集训队,意味着我的OI退役时间既省选之后有延迟了好几个月,又有了新的目标吧. 先说一下考试之外的感受吧,学军宿舍很牛X,接待NOIers而不提供插座,唯一可以用 ...
- 2015.7.17( NOI2015 day1 )
今天早起做了NOI2015网络同步赛.... 最近NOI是越来越向NOIP靠拢了....但是我还是不会做..... 第一题:程序自动分析 先离散化一下..然后最多就剩20w个数 , 不等于就存起来.. ...
- NOI2015滚粗记
我的第一次也是最后一次NOI 好像写的晚了许多……可能一谈到退役总会有些伤感,并不愿去面对…… 一路走来已有5年,虽然我总在说“其实我好好学的时间只有半年”,但那也不过是给自己是蒟蒻找的借口吧...一 ...
- 【从零开始学BPM,Day2】默认表单开发
[课程主题]主题:5天,一起从零开始学习BPM[课程形式]1.为期5天的短任务学习2.每天观看一个视频,视频学习时间自由安排. [第二天课程] Step 1 软件下载:H3 BPM10.0全开放免费下 ...
- BZOJ 4199: [Noi2015]品酒大会 [后缀数组 带权并查集]
4199: [Noi2015]品酒大会 UOJ:http://uoj.ac/problem/131 一年一度的“幻影阁夏日品酒大会”隆重开幕了.大会包含品尝和趣味挑战两个环节,分别向优胜者颁发“首席品 ...
- BZOJ 4196: [Noi2015]软件包管理器 [树链剖分 DFS序]
4196: [Noi2015]软件包管理器 Time Limit: 10 Sec Memory Limit: 512 MBSubmit: 1352 Solved: 780[Submit][Stat ...
- NOIp2016 Day1&Day2 解题报告
Day1 T1 toy 本题考查你会不会编程. //toy //by Cydiater //2016.11.19 #include <iostream> #include <cstd ...
- [BZOJ4200][Noi2015]小园丁与老司机
4200: [Noi2015]小园丁与老司机 Time Limit: 20 Sec Memory Limit: 512 MBSec Special JudgeSubmit: 106 Solved ...
随机推荐
- 1.offsetParent,offsetLeft,offsetTop
offsetParent <!doctype html> <html> <head> <meta charset="utf-8"> ...
- MUD教程--巫师入门教程3
1. 指令格式为:edit <档名>,只加文件名,默认为当前目录,加here,表示编辑你当前所处的房间, 回车后即进入线上编辑系统. 2. 如果这是一个已经有的档案,你可以使用 z 或 Z ...
- iOS7中group类型tableview的section间距设置
1.如果是首行,检查是否设置了headerView. 2.其他设置tableView . sectionFooterHeight = 1.0. 这个距离的计算是header的高度加上footer的 ...
- Git 操作常用命令
Git使用 1. git pull 更新服务器代码到本地a). git pull origin master是将origin这个版本库的代码更新到本地的master主分支 2. git push ...
- [Backbone.js]如何用backbone写一个仿网页版微信的webapp?
var Chat = Backbone.Model.extend({ idAttribute:'id', initialize:function(options){ var users = this. ...
- opencv如何用模板匹配寻找目标
首先使用: MatchTemplate 比较模板和重叠的图像区域 void cvMatchTemplate( const CvArr* image, const CvArr* templ, CvArr ...
- LPC同STM32的比较
Cortex-M3是新兴起来的一种ARM7的核,而ARM7TDMI是一种传统的经典的ARM内核.我们就抛开这一切,来比较一下两则的异同. 我们就在以下平台上比较吧: STMicoelectronics ...
- VS2008编译boost库
一.下载首先从boost官方主页http://www.boost.org/下载最新版boost安装包,我用的版本是boost.1.49.0二.新建文件夹 如果是使用下载的安装包,那么请将boost安装 ...
- sqlserver 增加用户并分配权限
1.创建用户cmd2:CREATE LOGIN cmd2 WITH PASSWORD='123qwe!@#',DEFAULT_DATABASE=DEV_CMD CREATE USER cmd2 FO ...
- Sass使用教程
sass官网: http://sass-lang.com/ http://sass-lang.com/documentation/file.SASS_REFERENCE.html Sass和Scss的 ...