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)来 ...
随机推荐
- Android dialog 不消失
最近在做Android4.0的开发,发现AlertDialog相比较以前有了较大变化,就是在触摸对话框边缘外部,对话框消失 于是研究其父类发现,可以设置这么一条属性,当然必须先AlertDialog. ...
- Django建立helloworld自定义页面
目录介绍 按照上一篇初学Django首先建立起一个默认站点,生成如下的目录结构: manage.py 一种命令行工具,允许你以多种方式与该 Django 项目进行交互. 键入python manage ...
- 编译php时,出错bad interpreter
安装php,参数有--with-apxs2.出现错误bad interpreter,原因是apache的apxs的文件需要perl的支持,首先要安装perl,然后修改apxs第一行,把第一行的#!/r ...
- 使用ASP.NET MVC+Entity Framework快速搭建博客系统
学习 ASP.NET MVC 也有一段时间了,打算弄个小程序练练手,做为学习过程中的记录和分享. 首先,得确定需求,木有需求的话,那还搞个毛线呀!嗯……大致思考了一下,终于得出如下需求: 1.能自定义 ...
- EMV标准
EMV标准是由国际三大银行卡组织--Europay(欧陆卡,已被万事达收购).MasterCard(万事达卡)和Visa(维萨)共同发起制定的银行卡从磁条卡向智能IC卡转移的技术标准,是基于IC卡的金 ...
- Java - 字符串和Unicode互转 - 解析小米pm.min.js
小米JS地址: http://p.www.xiaomi.com/zt/20130313/huodong/pm.min.js 上面这个JS是小米抢手机页面的代码.和抢手机有直接关联.. 虽然我3次都没抢 ...
- 利用PowerDesigner15在win7系统下对MySQL 进行反向project(二)
利用PowerDesigner15在win7系统下对MySQL 进行反向project 1.打开PowerDesigner,建立新模型.选择Physical Data Model中的Physical ...
- 关于 ls 命令的一个小小的缺陷
linux 的 ls : ls后边加上要显示的路径时:比方 ls /tmp 它会打印一边 /tmp 下的信息 当ls后边跟上多个同样路径的名字是,它会打印多次同样的信息 比方 ls /tmp /tmp ...
- sdut 3-5 学生成绩统计
3-5 学生成绩统计 Time Limit: 1000MS Memory limit: 65536K 题目描写叙述 通过本题目练习能够掌握对象数组的使用方法,主要是对象数组中数据的输入输出操作. 设计 ...
- TCPDUMP详解(续)
TCPdump抓包命令 tcpdump是一个用于截取网络分组,并输出分组内容的工具.tcpdump凭借强大的功能和灵活的截取策略,使其成为类UNIX系统下用于网络分析和问题排查的首选工具. tcp ...