NOI2014 Day2
NOI2014 Day2
动物园
题目描述:给出一个字符串(长度为\(Len\)),设\(num[i]\)为字符串的前\(i\)个字符构成的子串(\(A\))中,满足\(A\)的前\(L\)个字符既是\(A\)的后缀,且该后缀与前\(L\)个字符不重叠,\(L\)的最大值,求\(\prod_{i=1}^{Len}(num[i]+1)\)
solution:
扩展KMP,减去重复部分就是了……
时间复杂度:\(O(n)\)
随机数生成器
题目描述:给出数列\(x_0, x_i=(ax_{i-1}^2+bx_{i-1}+c)mod d\),设\(T\)为\(1\)到\(K\)的递增序列,对\(T\)进行\(K\)次交换,第\(i\)次交换\(T_i\)和\(T_{(x_i mod i)+1}\).在进行\(Q\)次交换,交换输入的两个下标的数。令\(K=N*M\),将\(T\)按顺序填入棋盘,从第一行第一列的格子出发,每次向右走或向下走,走到第\(N\)行第\(M\)列,将路径上的数从小到大排序,称为路径序列,输出字典序最小的路径序列。
solution:
这道题主要是空间卡得太死了,只能开两个\(N*M\)的数组,首先按要求把\(T\)算出来,然后新开一个数组记住每个数的位置,然后贪心,从小到大选数,能选就选,最后输出。
时间复杂度:\(O(N * M * 常数)\)
购票
题目描述:有一棵\(n\)个点的树,有边权。从一个点出发(\(i\)),如果要走到\(1\)号点,则选择该点的一个祖先(该祖先到\(i\)的距离不大于\(L_i\)),到这个祖先的费用为两点间的距离*\(p_i\)+\(q_i\),问每个点到\(1\)号点的最小费用。
solution:
这题如果没有距离限制还是比较简单的。如果没有距离限制,那么每个点都可以选择任意一个祖先,用单调队列维护一下就好了。但这里有距离限制,所以可以考虑一下用cdq分治。
每次找出树的重心,先做重心的祖先的那棵树,因为祖先的答案已经求出了,所以子树的点可以按照能到达的高度进行排序,用祖先的答案去更新子树的点的答案(单调队列),然后在分治重心的儿子。画个图吧。

重心这个点就特殊处理一下就可以了。
时间复杂度:\(O(nlog^2n)\)
NOI2014 Day2的更多相关文章
- 【从零开始学BPM,Day2】默认表单开发
[课程主题]主题:5天,一起从零开始学习BPM[课程形式]1.为期5天的短任务学习2.每天观看一个视频,视频学习时间自由安排. [第二天课程] Step 1 软件下载:H3 BPM10.0全开放免费下 ...
- NOIp2016 Day1&Day2 解题报告
Day1 T1 toy 本题考查你会不会编程. //toy //by Cydiater //2016.11.19 #include <iostream> #include <cstd ...
- day2
三级菜单: ))))))))))] last_levels.pop() ]]]]]]]]:] information = : ch = msvcrt.getch() ][][: : password= ...
- java day2一个模拟双色球的代码
package day2; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt ...
- Python基础-day2
1.Python模块python 中导入模块使用import语法格式:import module_name示例1: 导入os模块system('dir')列出当前目录下的所有文件 # _*_ codi ...
- 【BZOJ 4517】【SDOI 2016 Round1 Day2 T2】排列计数
本蒟蒻第一次没看题解A的题竟然是省选$Round1$ $Day2$ $T2$ 这道组合数学题. 考试时一开始以为是莫队,后来想到自己不会组合数的一些公式,便弃疗了去做第三题,,, 做完第三题后再回来看 ...
- 冲刺阶段 day2
day2 项目进展 今天本组五位同学聚在一起将项目启动,首先我们对项目进行了规划,分工,明确指出每个人负责哪些项目.由负责第一部分的组员开始编程,在已经搭建好的窗体内,对系部设置进行了编写,本校共六个 ...
- [BZOJ3672][UOJ#7][NOI2014]购票
[BZOJ3672][UOJ#7][NOI2014]购票 试题描述 今年夏天,NOI在SZ市迎来了她30周岁的生日.来自全国 n 个城市的OIer们都会从各地出发,到SZ市参加这次盛会. ...
- [BZOJ3671][UOJ#6][NOI2014]随机数生成器
[BZOJ3671][UOJ#6][NOI2014]随机数生成器 试题描述 小H最近在研究随机算法.随机算法往往需要通过调用随机数生成函数(例如Pascal中的random和C/C++中的rand)来 ...
随机推荐
- Python之父Guido在最近一次采访的最后说了啥
Python之父Guido在最近一次采访的最后说了啥? 在前些天的一次采访中,被问到Python未来发展方向的时候原文在infoworld,咱们可爱的python老爹Guido是这样说的: One t ...
- PCL学习笔记(一)
由于项目需要,开始学习一下HP公司的PCL打印语言,发现这方面的中文资料非常少,我做下记录也为后人提供便利. 关于PCL的介绍可以参考wiki百科 http://zh.wikipedia.org/zh ...
- 【转】C++虚函数解析
本文转自陈皓大叔(左耳朵耗子)的博客www.coolshell.com. 文章是很久之前所写,去年还在写C++时有幸拜读,现在想起来还是相当有价值一转的,如果有一定C++基础(特别是读过<深度探 ...
- Python urllib和urllib2模块学习(一)
(参考资料:现代魔法学院 http://www.nowamagic.net/academy/detail/1302803) Python标准库中有许多实用的工具类,但是在具体使用时,标准库文档上对使用 ...
- 动态规划-Burst Balloons
Burst Balloons Given n balloons, indexed from 0 to n-1. Each balloon is painted with a number on it ...
- android4.0 HttpClient 以后不能在主线程发起网络请求
android4.0以后不能在主线程发起网络请求,该异步网络请求. new Thread(new Runnable() { @Override public void run() { // TODO ...
- Kruskal-Wallis Test and Friedman test
- /var/cache/apt/archives/lock - open
问题: E: 无法获得锁 /var/cache/apt/archives/lock - open (11 资源临时不可用)E: 无法锁定下载目录o rm /var/cache/apt/archives ...
- MFC CWnd仿按钮
CBtn::CBtn() { RegisterWndClass(); } bool CBtn::RegisterWndClass(void) { WNDCLASS n; HINSTANCE hInst ...
- php操作路径的经典方法
function create_folders($dir){ return is_dir($dir) or ( create_folders( dirname( $dir ) ) and mkd ...