信息学奥赛一本通
努力写题的tyf
这个作者很懒,什么都没留下…
展开
-
求逆序对 - 归并排序
题目连接:http://ybt.ssoier.cn:8088/problem_show.php?pid=1311n开到1e5的话,硬刚肯定是要超时的,所以可以用归并排序,并在排序的时候求出结果,其特点如下:在每次合并两个子数组的时候,这两个子数组都已经是有序的啦然后若a[i]>a[j]的话ans+=m-i+1a[i]>a[j],则a[i-m]都>a[j]所以ans...原创 2018-12-05 21:59:43 · 748 阅读 · 0 评论 -
1280:【例9.24】滑雪 - dfs(记忆化搜索)
1280:【例9.24】滑雪时间限制: 1000 ms 内存限制: 65536 KB提交数: 1665 通过数: 845【题目描述】小明喜欢滑雪,因为滑雪的确很刺激,可是为了获得速度,滑的区域必须向下倾斜,当小明滑到坡底,不得不再次走上坡或等着直升机来载他,小明想知道在一个区域中最长的滑坡。滑坡的长度由滑过点的个数来计算,区域由一个二维数组给出,数组的每个数...原创 2019-05-16 22:30:10 · 1155 阅读 · 0 评论 -
1275:【例9.19】乘积最大 - dp
1275:【例9.19】乘积最大【题目描述】今年是国际数学联盟确定的“2000——世界数学年”,又恰逢我国著名数学家华罗庚先生诞辰90周年。在华罗庚先生的家乡江苏金坛,组织了一场别开生面的数学智力竞赛的活动,你的一个好朋友XZ也有幸得以参加。活动中,主持人给所有参加活动的选手出了这样一道题目:设有一个长度为N的数字串,要求选手使用K个乘号将它分成K+1个部分,找出一种分法,使得这K+1...原创 2019-05-12 17:55:12 · 1522 阅读 · 0 评论 -
1517:间谍网络 - tarjan割点
1517:间谍网络时间限制: 1000 ms 内存限制: 562144 KB提交数: 76 通过数: 33【题目描述】由于外国间谍的大量渗入,国家安全正处于高度危机之中。如果 A间谍手中掌握着关于 B 间谍的犯罪证据,则称 A 可以揭发 B。有些间谍接受贿赂,只要给他们一定数量的美元,他们就愿意交出手中掌握的全部情报。所以,如果我们能够收买一些间谍的话,我们...原创 2019-05-19 19:01:29 · 480 阅读 · 1 评论 -
1540:打鼹鼠 - 二维树状数组(单点更新+区间查询)
1540:打鼹鼠_二维树状数组时间限制: 1000 ms 内存限制: 524288 KB提交数: 185 通过数: 37【题目描述】这是一道模板题。给出一个 n×m的零矩阵 A,你需要完成如下操作:1xyk:表示元素 Ax,y自增 k;2abcd:表示询问左上角为 (a,b),右下角为 (c,d) 的子矩阵内所有数的和。【输...原创 2019-04-24 21:04:36 · 1289 阅读 · 1 评论 -
1539:简单题 - 树状数组
思路:维护两个树状数组分别记录L和R当每询问一次的时候(坐标为x):(1)在L中找到sum(x) 即左端点在区间[1,x]的个数n1(2)在R中找到sum(x-1) 即右端点在区间[1,x-1]的个数n2ans=(n1-n2)%2代码如下:#include<iostream>#include<cstdio>#include...原创 2019-04-24 21:12:12 · 987 阅读 · 0 评论 -
区间dp刷题
思路:成环啦,就把它复制一遍再求呗,每次合并两堆石子,那么不管是怎样合并,最后一次合并都会得到sum(这两堆石子数)的分数再加上分别得到这两堆石子所得分数dp[i][j]=max(dp[i][j],dp[i][k]+dp[k+1][j])dp[i][j]+=sum[i…j]代码如下:#include<iostream>#include<...原创 2019-05-02 20:41:12 · 138 阅读 · 0 评论 -
最大连续和 - 单调队列优化dp
1598:【 例 2】最大连续和时间限制: 1000 ms 内存限制: 524288 KB提交数: 104 通过数: 23【题目描述】给你一个长度为 n的整数序列 {A1,A2,⋯,An},要求从中找出一段连续的长度不超过 m的子序列,使得这个序列的和最大。【输入】第一行为两个整数 n,m;第二行为 n个用空格分开的整数序列,每个...原创 2019-03-17 22:08:15 · 940 阅读 · 0 评论 -
poj2823 - Sliding Window- 单调队列优化dp
Sliding WindowTime Limit: 12000MS Memory Limit: 65536K Total Submissions: 75537 Accepted: 21413 Case Time Limit: 5000MS DescriptionAn array of size n ≤ 106 is given to you. T...原创 2019-03-17 21:42:46 · 212 阅读 · 0 评论 -
挖地雷 - dp
1262:【例9.6】挖地雷时间限制: 1000 ms 内存限制: 65536 KB提交数: 2636 通过数: 1252【题目描述】在一个地图上有n个地窖(n≤200),每个地窖中埋有一定数量的地雷。同时,给出地窖之间的连接路径,并规定路径都是单向的,且保证都是小序号地窖指向在序号地窖,也不存在可以从一个地窖出发经过若干地窖后又回到原来地窖的路径。某人可以...原创 2019-03-17 21:28:48 · 906 阅读 · 0 评论 -
城市交通路网 - 动规求最短路+记录路径
1261:【例9.5】城市交通路网时间限制: 1000 ms 内存限制: 65536 KB提交数: 1647 通过数: 1214【题目描述】下图表示城市之间的交通路网,线段上的数字表示费用,单向通行由A->E。试用动态规划的最优化原理求出A->E的最省费用。如图:求v1到v10的最短路径长度及最短路径。【输入】第一行为城市的数量N...原创 2019-03-17 20:41:09 · 606 阅读 · 0 评论 -
二叉树刷一波~
1337:【例3-2】单词查找树时间限制: 1000 ms 内存限制: 65536 KB提交数: 1810 通过数: 954【题目描述】在进行文法分析的时候,通常需要检测一个单词是否在我们的单词列表里。为了提高查找和定位的速度,通常都画出与单词列表所对应的单词查找树,其特点如下:1.根结点不包含字母,除根结点外每一个结点都仅包含一个大写英文字母;2....原创 2019-03-13 22:25:08 · 689 阅读 · 0 评论 -
全排列的三种方法(递归)
把abc全排列方法 一:可以看做a为前缀,bc全排列,(a与b交换)b为前缀,ac全排列,(a与c交换)c为前缀,ba全排列在递归的时候bc全排列可看成,b为前缀,c全排列,c为前缀b全排列。特点:明显的看出这样排列的结果不是从小到大的。代码://数组存到a[0]-a[n-1],调用perm(0,n)void perm(int b,int e){ if(b==n...原创 2019-02-23 10:06:36 · 2580 阅读 · 0 评论 -
递归小结
思路 :用递归的方法,判断到an的时候有两种情况(1){an}是k个集合中的一个,那么这时候的情况等于s(n-1,k-1)(2){an}不是k个集合中的一个,也就是说an和别的物品一起放在一个盒子,此时等于有k个盒子n-1个物品的情况,再把an放到k个盒子里的一个:k*s(n-1,k)考虑边界情况:(1)若k==0,return 0(2)若n<k,return 0...原创 2018-12-17 10:25:03 · 151 阅读 · 0 评论 -
递推小结
1312:【例3.4】昆虫繁殖时间限制: 1000 ms 内存限制: 65536 KB提交数: 4463 通过数: 2077【题目描述】科学家在热带森林中发现了一种特殊的昆虫,这种昆虫的繁殖能力很强。每对成虫过x个月产y对卵,每对卵要过两个月长成成虫。假设每个成虫不死,第一个月只有一对成虫,且卵长成成虫后的第一个月不产卵(过X个月产卵),问过Z个月以后,共有...原创 2018-12-10 22:09:00 · 223 阅读 · 0 评论 -
判断整除 - 递推(详解)
1195:判断整除【题目描述】一个给定的正整数序列,在每个数之前都插入+号或-号后计算它们的和。比如序列:1、2、4共有8种可能的序列:(+1) + (+2) + (+4) = 7(+1) + (+2) + (-4) = -1(+1) + (-2) + (+4) = 3(+1) + (-2) + (-4) = -5(-1) + (+2) + (+4) = 5(-1)...原创 2018-12-13 20:26:29 · 4842 阅读 · 0 评论 -
1364:二叉树遍历(flist) - 中序,层次推先序
时间限制: 1000 ms 内存限制: 65536 KB提交数: 860 通过数: 552【题目描述】树和二叉树基本上都有先序、中序、后序、按层遍历等遍历顺序,给定中序和其它一种遍历的序列就可以确定一棵二叉树的结构。假定一棵二叉树一个结点用一个字符描述,现在给出中序和按层遍历的字符串,求该树的先序遍历字符串。【输入】两行,每行是由字母组成的字符串...原创 2019-05-26 11:56:39 · 1105 阅读 · 0 评论