NOI2011 Day1
NOI2011 Day1
兔农
题目描述:\(fib[1]=fib[2]=1, fib[i]=fib[i-2]+fib[i-1] (i\geq 3)\),若\(fib[i] \equiv 1(mod k)(i \geq 3)\),则\(fib[i]=fib[i]-1\),已知\(k, P\),求\(fib[n] mod P\)
solution:
先看一下当\(k=7\)时,\(fib[i] mod k\):(每行的最后一个数变为0)
1, 1, 2, 3, 5, 1
5, 5, 3, 1
3, 3, 6, 2, 1
2, 2, 4, 6, 3, 2, 5, 0, 5, 5, 3, 1
3, 3, 6, 2, 1
……
出现循环了,也就是说这是有循环节的,而且每一行都是一个斐波那契数列,由于每行的最后一个数为\(0\),下一行的第一个数变成了该行的倒数第二个数,下一行的第二个数与第一个数相同,构成新的斐波那契数列的首两项。
设每行首项为\(X\),每一项除以\(X\),就是原来的斐波那契数列。
令\(X*fib[i] \equiv 1 (mod k)\)成立的最小的\(i\)记为\(Len[X]\),这就是以\(X\)为首项的长度,如果\(Len[x]\)不存在,则说明以后都不会再减一,之后就按照斐波那契数列去做就好了。
求\(Len[X]\),就要求\(X\)的逆元,因为\(k\)不一定是质数,只好用扩展欧几里得求出\(fib[Len[X]]\),从而求出\(Len[x]\)。
计算斐波那契数列时用到矩阵乘法,自己构造一下就好了。
这题的可行性在于一个结论:模\(k\)意义下的斐波那契数列的循环节\(\leq 6k\)
时间复杂度:\(O(6k)\)
智能车比赛
题目描述:给出\(n\)个矩形,第\(i\)个矩形区域的左下角和右上角坐标分别为\((x_{i,1},y_{i,1})\)和\((x_{i,2},y_{i,2})\), 保证\(x_{i,1}<x_{i,2}=x_{i+1,1},y_{i,1}<y_{i,2}\),给出起点坐标与终点坐标,只能在矩形内行走,问起点到终点的最短路径。
solution:
只有相邻两个矩形的重边的端点是有用的,然后\(n^2\)连边,最短路。
时间复杂度:因算法而异
阿狸的打字机
题目描述:给出一串操作,包含小写字母或\('B','P'\),小写字母表示在字符串末尾添加该字母(字符串一开始为空),\('B'\)为删去最后一个字母,\('P'\)为输出当前字符串。有若干个询问\((x, y)\),问第\(y\)个输出的字符串包含多少个第\(x\)个输出的字符串。
solution:
容易想到AC自动机+fail-tree,然后把询问离线读入,按\(y\)从小到大排序。在fail-tree中,任意一个点的子树的字符串都包含该点所对应的字符串。
按照操作顺序模拟,将\(y\)到根的点\(+1\)(AC自动机),查找\(x\)的子树的和(fail-tree)即为答案。
时间复杂度:\(O(nlogn)\)
NOI2011 Day1的更多相关文章
- 是时候开刷NOI了
整天挨着毛爷爷,压力好大.. 看毛爷爷即将炖完NOI,我的确也该刷了 原则是从头到尾自己想(虽然看了一次题解),可以不A掉. NOI2009 day1: T1 题目略神,我还是不讲了...(就这题我W ...
- CH Round #54 - Streaming #5 (NOIP模拟赛Day1)
A.珠 题目:http://ch.ezoj.tk/contest/CH%20Round%20%2354%20-%20Streaming%20%235%20(NOIP模拟赛Day1)/珠 题解:sb题, ...
- BZOJ 2434: [Noi2011]阿狸的打字机 [AC自动机 Fail树 树状数组 DFS序]
2434: [Noi2011]阿狸的打字机 Time Limit: 10 Sec Memory Limit: 256 MBSubmit: 2545 Solved: 1419[Submit][Sta ...
- NOIp2016 Day1&Day2 解题报告
Day1 T1 toy 本题考查你会不会编程. //toy //by Cydiater //2016.11.19 #include <iostream> #include <cstd ...
- day1
day1.py ][][: ][: ): : ]['lock'] = 0 json.dump(userlist_message, open(userlist, 'w')) break #输错次数到3次 ...
- day1作业--登录入口
作业概述: 编写一个登录入口,实现如下功能: (1)输入用户名和密码 (2)认证成功后显示欢迎信息 (3)输错三次后锁定 流程图: readme: 1.程序配置文件: 黑名单文件blacklist.t ...
- luogu1003铺地毯[noip2011 提高组 Day1 T1]
题目描述 为了准备一个独特的颁奖典礼,组织者在会场的一片矩形区域(可看做是平面直角坐标系的第一象限)铺上一些矩形地毯.一共有 n 张地毯,编号从 1 到n .现在将这些地毯按照编号从小到大的顺序平行于 ...
- BZOJ2432 [Noi2011]兔农
本文版权归ljh2000和博客园共有,欢迎转载,但须保留此声明,并给出原文链接,谢谢合作. 本文作者:ljh2000作者博客:http://www.cnblogs.com/ljh2000-jump/转 ...
- 【NOI2011】道路修建 BFS
[NOI2011]道路修建 Description 在 W 星球上有 n 个国家.为了各自国家的经济发展,他们决定在各个国家之间建设双向道路使得国家之间连通.但是每个国家的国王都很吝啬,他们只愿意修建 ...
随机推荐
- jQuery获取iframe的document对象
$(function() { var result = $('#myframe').prop('contentWindow').document; console.log(result); }); 这 ...
- gridview外边距
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区. 您需要 登录 才可以下载或查看,没有帐号?注册 x 本帖最后由 同舟 于 2013-9-30 11:44 编辑 最新项目需要个单行显示功能键 ...
- 转:JavaScript函数式编程(一)
转:JavaScript函数式编程(一) 一.引言 说到函数式编程,大家可能第一印象都是学院派的那些晦涩难懂的代码,充满了一大堆抽象的不知所云的符号,似乎只有大学里的计算机教授才会使用这些东西.在曾经 ...
- 论山寨手机与Android联姻 【2】手机OS成为核心
手机凭借通话和短信这两项基本功能,积累了用户,开拓了市场.但是用户的需求是永无止境的,对于手机制造商来说,紧跟用户需求,拓展手机功能,是机会也是挑战. 1988年第一款数码相机,在日本上市.数码相机的 ...
- VS2008编译boost库
一.下载首先从boost官方主页http://www.boost.org/下载最新版boost安装包,我用的版本是boost.1.49.0二.新建文件夹 如果是使用下载的安装包,那么请将boost安装 ...
- Entity Framework学习笔记
原文地址:http://www.cnblogs.com/frankofgdc/p/3600090.html Entity Framework学习笔记——错误汇总 之前的小项目做完了,到了总结经验和 ...
- wx.button
wx.Button A button is a control that contains a text string, and is one of the most common elements ...
- win下vm10+mac os 10.9安装遇到问题
在windows 8下安装vm10.0.0+mac os 10.9遇到问题记录例如以下: 一.因为之前我装的vm9+mac os 10.7: 二.准备安装mac os 10.9,把vm9换成vm10: ...
- O2O领域添新军,正品网加快布局的战略考量
前不久.正品网採购虚拟运营商30万170号码的招标公告引发了业界的广泛关注.一方面,虚拟运营商正处于"徘徊不定"的十字路口.据业内知情人士透露,眼下12家虚拟运营商企业共放号在20 ...
- git 删除远程主分支及其它操作
1. 删除远程分支 如果不再需要某个远程分支了,比如搞定了某个特性并把它合并进了远程的 master 分支(或任何其他存放稳定代码的地方),可以用这个非常无厘头的语法来删除它:git push [远程 ...