摘要: 题目传送门 这是一道并查集的题目,相信很多人都看出来了。 用一个类似Kurskal的东西求出最近的最大值。 对于一些可以划分在同一个部落里的边,我们一定是优先选择短边合并。 code: 阅读全文
posted @ 2017-09-25 21:49 Cptraser 阅读(262) 评论(0) 推荐(0)
摘要: 黑匣子 (box.pas/c/cpp) 【 问题描述】 某研究小组成员想发明一个黑匣子( 当然不是飞机上那个), 而是一个具有特殊功能的箱子。 这个箱子具有两个功能: 1. 存放一些正整数 x; 2. 对于第 k 次询问, 它会告诉你箱子中第 k 小的数字是多少。 但光具有理论是不够的, 理论往往应 阅读全文
posted @ 2017-09-25 19:16 Cptraser 阅读(191) 评论(0) 推荐(0)
摘要: 食物链 (eat.pas/c/cpp) 【 问题描述】 动物王国中有三类动物 A,B,C, 这三类动物的食物链构成了有趣的环形。 A 吃 B, B 吃C, C 吃 A。现有 N 个动物, 以 1-N 编号。 每个动物都是 A,B,C 中的一种, 但是我们并不知道它到底是哪一种。 有人用两种说法对这 阅读全文
posted @ 2017-09-25 19:16 Cptraser 阅读(131) 评论(0) 推荐(0)
摘要: 滑雪 ( skiing.pas/c/cpp) 【题目描述】 MM 参加一个滑雪比赛,滑雪场是一个 N×M 的矩形, MM 要从起点( 1, 1)滑到( N,M)。矩形中每个单位格子有一个海拔高度值 hi,从一个格子走到另一个格子速度就会变成 v*2^(hi-hj),已知 MM 的初始速度是 v,请问 阅读全文
posted @ 2017-09-25 19:16 Cptraser 阅读(150) 评论(0) 推荐(0)
摘要: 抓猫 题面如下: 【 题目描述】 流浪猫布满城市的每一个角落, 非常影响市容市貌, 作为城市聘请的抓猫者, 你有一 种捕捉器, 一定可以捕捉到所有走到里面的猫, 更加幸运的是你有一个非常厉害的动物心理 学家, 他可以预测猫在不同位置的行走方向(共有东、 西、 南、 北四种情况) 为了节约经费, 问你 阅读全文
posted @ 2017-09-25 19:16 Cptraser 阅读(348) 评论(0) 推荐(0)
摘要: 线段树,顾名思义,就是指一个个线段组成的树。 线段树的定义就是: 线段树是一种二叉搜索树,与区间树相似,它将一个区间划分成一些单元区间,每个单元区间对应线段树中的一个叶结点。使用线段树可以快速的查找某一个节点在若干条线段中出现的次数,时间复杂度为O(logN)。 ——摘自百度百科 如图,这就是一棵线 阅读全文
posted @ 2017-09-25 19:16 Cptraser 阅读(211) 评论(0) 推荐(0)
摘要: 最小覆盖(cover)、、线段树 【题目描述】 给定 N 个区间[Li,Ri],需要你按照顺序选出一个区间序列使得[1,M]完全被覆盖。并且在选出来的序列中,某个区间[a,b]之前必须保证[1,a]都被已经选中的区间覆盖(即没有“断开”的地方)。求出最少需要选多少区间 【输入文件】 第一行两个整数 阅读全文
posted @ 2017-09-25 19:16 Cptraser 阅读(189) 评论(0) 推荐(0)
摘要: 最短路径例题 今天特地学习了Dijkstra的堆优化(主要是慕名已久)。 我们需要一个堆来记录[编号,到编号这个点的最短路径值(当然只是当前的)] 与原来的Dijkstra操作基本一致,主要有以下几点: 1.将起点放入堆中 2.开始while循环 3.取出堆顶 4.如果已经拓展过就continue 阅读全文
posted @ 2017-09-25 19:16 Cptraser 阅读(274) 评论(0) 推荐(0)
摘要: 题目传送门 带权并查集问题。 用fr[x]数组记录x战舰前(不包括自己)有几艘战舰,beh[x]数组记录x战舰后(包括自己)有几艘战舰。 并查集即可。 code: #include <cstdio> #include <cmath> #include <iostream> using namespa 阅读全文
posted @ 2017-09-25 19:16 Cptraser 阅读(107) 评论(0) 推荐(0)
摘要: 题目传送门 又是一道BZOJ的水题。 DP,F[i]表示第i只鼹鼠出现后可以砸几只。 F[i]=max(F[i],F[j]+1); 但要满足time[i]-time[j]>=abs(x[i]-x[j])+abs(y[i]-y[j]) code: /************************** 阅读全文
posted @ 2017-09-25 19:16 Cptraser 阅读(95) 评论(0) 推荐(0)
摘要: 没有上司的舞会 1380 没有上司的舞会 时间限制: 1 s 空间限制: 128000 KB 题目描述 Description Ural大学有N个职员,编号为1~N。他们有从属关系,也就是说他们的关系就像一棵以校长为根的树,父结点就是子结点的直接上司。每个职员有一个快乐指数。现在有个周年庆宴会,要求 阅读全文
posted @ 2017-09-25 19:16 Cptraser 阅读(121) 评论(0) 推荐(0)
摘要: 转自YXDs 题目传送门 不知道今天是怎么了,可能是空调吹多了吧,一直不在状态,连递推题我都做不来了……(扎Zn了老Fe……) 然而,不管环境如何恶劣,我们仍要努力学习,为了自己的明天而奋斗。(说的好像跟真的一样) 其实这题就是一个递推,现在我们考虑第i个数,定义f[i][j]表示序列里有i个数,逆 阅读全文
posted @ 2017-09-25 19:16 Cptraser 阅读(182) 评论(0) 推荐(0)
摘要: 题目传送门 我不得不说这是一道BZOJ的大水题。 一眼就可以看出的布尔型DP。 F[i][j]表示前i天能否达到j音量。 code: #include <cstdio> #include <cctype> #define C c = tc ( ) using namespace std; inlin 阅读全文
posted @ 2017-09-25 19:16 Cptraser 阅读(134) 评论(0) 推荐(0)
摘要: 中位数的和 (number.pas/c/cpp) 【题目描述】 flower 有 N-1 个朋友,他们要一起玩一个游戏:首先确定三个非负整数 a,b,c,然后每个人依次在纸上写一个数,设第 i 个人写下的数字为 f[i],flower 先写下数字 f[1]=1,对于第 i 个写数字的人(i>1)有: 阅读全文
posted @ 2017-09-25 19:16 Cptraser 阅读(191) 评论(0) 推荐(0)
摘要: Piggy Back (piggyback.pas/c/cpp) 【问题描述】 Bessie 和她的姐姐 Elsie 在不同的田块吃草,晚上她们都返回牛棚休息。作为聪明的奶牛,她们想设计一个方案使得步行消耗的能量最少。牛,她们想设计一个方案使得步行消耗的能量最少。Bessie 从一个田块到相邻的田块 阅读全文
posted @ 2017-09-25 19:16 Cptraser 阅读(245) 评论(0) 推荐(0)
摘要: WILL 吃桃 (peach.pas/c/cpp) 【 题目描述】 Will 很喜欢吃桃, 某天 Will 来到了一片森林, 森林中有 N 颗桃树, 依次编号为 1,2,„,N.每棵树上有数量不等的桃子。 某些桃树之间有单向通行的小路, 且路径不会形成环, 通过每条小路的时间也不一定相同。 现在, 阅读全文
posted @ 2017-09-25 19:16 Cptraser 阅读(260) 评论(0) 推荐(0)
摘要: 一下子又过去了≥7天(据上一次总结)。 在这几天中,我们刷了许多题,有水题也有难题,我们积累了很多经验。首先是: 要记得开long long。 要记得开long long。 要记得开long long。 这很重要,所以要说三遍。 在这几天中,我们不仅在判断题目的类型上功力大增,而且也对一些算法和数据 阅读全文
posted @ 2017-09-25 19:16 Cptraser 阅读(191) 评论(0) 推荐(0)
摘要: 回文词 (palin.pas/c/cpp) 【问题描述】 回文词是一种对称的字符串——也就是说,一个回文词,从左到右读和从右到左读得的结果是一样的。任意给定一个字符串,通过插入若干字符,都可以变成一个回文词。你任务是写一个程序,求出将给定字符串变成回文词所需插入的最少字符数。比如字符串“Ab3bd” 阅读全文
posted @ 2017-09-25 19:16 Cptraser 阅读(846) 评论(0) 推荐(0)
摘要: 题目传送门 这是一道单调栈的问题,单调栈维护所有数的最大值。 查询操作时只需要二分找答案即可,枚举栈内的数应该也不会超时。 code: /************************************************************** Problem: 1012 User 阅读全文
posted @ 2017-09-25 19:16 Cptraser 阅读(105) 评论(0) 推荐(0)
摘要: 题目传送门 这是一道典型的记忆化搜索题。 f[x][y]表示以x,y为右下角的方案数。 code: #include <cstdio> #define mod 1000000007 using namespace std; int n,m,k,a[751][751],f[751][751]; int 阅读全文
posted @ 2017-09-25 19:16 Cptraser 阅读(141) 评论(0) 推荐(0)