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的更多相关文章

  1. 【从零开始学BPM,Day2】默认表单开发

    [课程主题]主题:5天,一起从零开始学习BPM[课程形式]1.为期5天的短任务学习2.每天观看一个视频,视频学习时间自由安排. [第二天课程] Step 1 软件下载:H3 BPM10.0全开放免费下 ...

  2. NOIp2016 Day1&Day2 解题报告

    Day1 T1 toy 本题考查你会不会编程. //toy //by Cydiater //2016.11.19 #include <iostream> #include <cstd ...

  3. day2

    三级菜单: ))))))))))] last_levels.pop() ]]]]]]]]:] information = : ch = msvcrt.getch() ][][: : password= ...

  4. java day2一个模拟双色球的代码

    package day2; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt ...

  5. Python基础-day2

    1.Python模块python 中导入模块使用import语法格式:import module_name示例1: 导入os模块system('dir')列出当前目录下的所有文件 # _*_ codi ...

  6. 【BZOJ 4517】【SDOI 2016 Round1 Day2 T2】排列计数

    本蒟蒻第一次没看题解A的题竟然是省选$Round1$ $Day2$ $T2$ 这道组合数学题. 考试时一开始以为是莫队,后来想到自己不会组合数的一些公式,便弃疗了去做第三题,,, 做完第三题后再回来看 ...

  7. 冲刺阶段 day2

    day2 项目进展 今天本组五位同学聚在一起将项目启动,首先我们对项目进行了规划,分工,明确指出每个人负责哪些项目.由负责第一部分的组员开始编程,在已经搭建好的窗体内,对系部设置进行了编写,本校共六个 ...

  8. [BZOJ3672][UOJ#7][NOI2014]购票

    [BZOJ3672][UOJ#7][NOI2014]购票 试题描述  今年夏天,NOI在SZ市迎来了她30周岁的生日.来自全国 n 个城市的OIer们都会从各地出发,到SZ市参加这次盛会.       ...

  9. [BZOJ3671][UOJ#6][NOI2014]随机数生成器

    [BZOJ3671][UOJ#6][NOI2014]随机数生成器 试题描述 小H最近在研究随机算法.随机算法往往需要通过调用随机数生成函数(例如Pascal中的random和C/C++中的rand)来 ...

随机推荐

  1. 自定义alert,confirm,prompt事件,模仿window.alert(),confirm(),prompt()

    css代码: /*custom_alert and custom_confirm*/ ; } ;;background-color: #585858; padding: 30px 30px; bord ...

  2. 《小猪CMS(PigCms)多用户微信营销服务平台系统V6.1完美破解至尊版带微用户管理CRM+微信支付》

    <小猪CMS(PigCms)多用户微信营销服务平台系统V6.1完美破解至尊版带微用户管理CRM+微信支付> 之前发布了不少微赢的多用户微信网站源码,今天为我的小伙伴们准备的是功能非常强悍, ...

  3. 中国25位最具影响力的IC人物

    当今许多企业的领导者几乎已经成为其企业的代名词,而在芯片业,我们听说的更多的是“龙芯”.“国芯”,他们的领导者的声音却鲜有传出.芯片业透出的强烈的民族色彩,也使这些隐身的企业家们的注意力更聚集在研发上 ...

  4. ubuntu_安装aptana3

    下面记录下偶怎么安装aptana3(aptana2应该也适用). 安装java运行时,偷看这里 说明:实际上偶并没有执行这步,因为发现在安装aptana3之前 java的运行时已经安装过了. 貌似是安 ...

  5. 如何在你的project中使用support library【转】

    Android support library是google以jar包形式提供的一个代码库,里面包含一些向后兼容的framework API以及一些只有在这个library中才提供的feature. ...

  6. IIS7性能优化:启用浏览器本地缓存

    原文地址:http://jingyan.baidu.com/article/597035521b96e88fc00740af.html

  7. poj1004

    Financial Management Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 125635   Accepted: ...

  8. Struts2 四、Struts2 处理流程

    1. 一个请求在Struts2框架中的处理步骤: a) 客户端初始化一个指向Servlet容器的请求: b) 根据Web.xml配置,请求首先经过ActionContextCleanUp过滤器,其为可 ...

  9. CodeForces 540B School Marks(思维)

    B. School Marks time limit per test 2 seconds memory limit per test 256 megabytes input standard inp ...

  10. android 常用调用系统功能

    1.从google搜索内容 Intent intent = new Intent(); intent.setAction(Intent.ACTION_WEB_SEARCH); intent.putEx ...