08 2015 档案
摘要:题意:给一个字符串S,判断在什么下标的时候,前缀和后缀相等,输出前缀和后缀相等的点。分析:next数组的一种很巧妙的用法next数组表示的意义是当前下标前面k字符和开头的前面k个字符相等所以就会有xy=ab(用xy表示x - y的这一段),则next[b]=y,那么下次就从y这个位置开始匹配如果xk...
阅读全文
摘要:题目大意 : 在一个字符串中找出目标单词的个数 代码:
阅读全文
摘要:题目大意: 在 N 个点 N 条边组成的图中判断是否存在汉密尔顿路径。思路:忽略重边与自回路,先判断是否连通,否则输出“NO”,DFS搜索是否存在汉密尔顿路径。 #include #include #include #include #in...
阅读全文
摘要:题目大意 :Ignatius最近遇到一个难题,老师交给他很多单词(只有小写字母组成,不会有重复的单词出现),现在老师要他统计出以某个字符串为前缀的单词数量(单词本身也是自己的前缀).(单词互不相同)代码: #include #include #include ...
阅读全文
摘要:题目大意: 有 n 头牛,编号为 1 n 乱序排成一列,现已知每头牛前面有多少头牛比它的编号小,从前往后输出每头牛的编号。思路: 从后往前推,假如排在最后的一头牛比他编号小的数量为a,那么它的编号必然为a+1。我们把编号为a+1的这头牛删掉,假如排在倒数第二的一头牛比他编号小的数量为b,那么该牛就为...
阅读全文
摘要:```cpp #include #include using namespace std; ifstream fin("shuliec.in"); ofstream fout("shuliec.out"); class Node { public: long long l; long long r; long long Value; long long Lazy; }; long long...
阅读全文
摘要:题目大意: n 个村庄排列在一条直线上,相邻的村庄有地道连接,除首尾两个村庄外,其余村庄都有两个相邻的村庄。其中有 3 中操作 D x :表示摧毁编号为 x 的村庄,Q x:表示求出包含村庄 x 的最长区间中村庄的数目,R 表示修复最后摧毁的村庄。输入 n,m 分别表示村庄的树木,和操作的次数。
思...
阅读全文
摘要:题目大意:给出从 0 到 n-1 的整数序列,A0,A1,A2...An-1。可将该序列的前m( 0 满足 i Aj 。 在所有的序列中找出逆序对最少的序列,输出逆序对个数。num[n+1]存储序列元素。思路: 假设某个序列的逆序对个数为 sum 则下一个序列的逆序对个数为 sum - num[1...
阅读全文
摘要:题目大意: 有 n 项作业需要完成,每项作业有上交的期限和需完成的天数,若某项作业晚交一天则扣一分。输入每项作业时包括三部分,作业名称,上交期限,完成所需要的天数。求出完成所有作业时所扣掉的分数最少,同时输出完成作业的顺序(若有多组结果,输出按字典序排列最小的那组)。(输入时,按名称的字典序输入)思...
阅读全文
摘要:题目大意:从起点 1 开始走遍所有的点,回到起点 1 ,求出所走的最短长度。思路:首先利用 Floyed 求出任意两点之间的最短距离 dis[i][j]。求出任意两点之间的最短距离后,运用动态规划。dp[s][i] 表示当前状态为s时,最后一个到达的点为 1 时走过的最短距离。 将状态状态 ...
阅读全文
摘要:题目大意: 一条大街上住着 n 个乒乓球爱好者,经常比赛切磋技术,每个人有一个不同的技能值ai。每场比赛需要三个人,两名选手,一名裁判。但是裁判必须住在两名选手之间,而且裁判的技能值不能小于或小于两名选手的技能值。问共有多少种比赛。 思路 :枚举裁判,找出位于裁判前面的比裁判技能小的人数和位于裁...
阅读全文
摘要:题目大意:输入两个整数 n 和 k ,接下来输入n个整数组成的序列。求该序列中三个数 满足条件的子串个数(要求字串由三个整数a,b,c组成,其中 c = k * b = k * k * a)。 思路:枚举中间的数,然后分别求出前面和后面满足条件的数的个数,将两数相乘,然后累加积即可。...
阅读全文
摘要:题目大意:给出n个点,m条无向边,每条边有长度。求一棵树,要求树上的每个点到源点距离最小的前提下,使得树上的边的长度和最小。输出树上边的总长度,以及树上的边的序号(按输入顺序 1...m).思路 :单源最短路径 + 贪心 .用Dijkstra 或spfa 算法 求每个点到源点的最短路径,并在记录当前...
阅读全文

浙公网安备 33010602011771号