03 2016 档案

摘要:题目: http://codeforces.com/problemset/problem/659/E 题意: 给你一个图,现在要你给这个图里面的边定方向,使得入度为0的点最少。 分析: 对于一个连通块而言,如果里面存在一个环,那么必然所有点的入度都可以大于等于1 否则的话,就存在一... 阅读全文
posted @ 2016-03-31 23:45 HARD_UNDERSTAND 阅读(273) 评论(0) 推荐(0)
摘要:题目: 给定电脑的n(n#include#include#include#include#includeusing namespace std;typedef pairpii;#define pb push_back#define mpi make_pairmapmp; //每中类... 阅读全文
posted @ 2016-03-28 22:37 HARD_UNDERSTAND 阅读(211) 评论(0) 推荐(0)
摘要:题目:http://codeforces.com/problemset/problem/650/B 题意: :给n张图片循环可看,每张图片的朝向为横(w)|竖(v),但是手机是竖直放置的。开始时打开的是第0张图片,如果一张图片为w放置就需先花b秒边把该张图片变成v朝向,从一张图片到... 阅读全文
posted @ 2016-03-28 22:28 HARD_UNDERSTAND 阅读(198) 评论(0) 推荐(0)
摘要:题目:http://codeforces.com/problemset/problem/650/A题意: 给出n个点,问符合和|xi - xj| + |yi - yj|. 这两个公式算出来的两点“距离”相等的点对有几个? 分析: 显然如果上面两个公式相等,那么必须横坐标相等或者纵坐... 阅读全文
posted @ 2016-03-28 22:14 HARD_UNDERSTAND 阅读(208) 评论(0) 推荐(0)
摘要:题目:http://acm.hdu.edu.cn/showproblem.php?pid=5652 题意: 给出一个n*m的图,1是山峰,0是平原,还有q个操作,可以把0变成1,问最少前几次操作可以使得图的上端和下端完全阻隔,就是被1隔开。 分析: 判断是否完全隔开,就是判断是否1... 阅读全文
posted @ 2016-03-28 15:24 HARD_UNDERSTAND 阅读(190) 评论(0) 推荐(0)
摘要:题目:http://acm.hdu.edu.cn/showproblem.php?pid=5651 xiaoxin巨从小就喜欢字符串,六年级的时候他就知道了什么是回文串。这时,xiaoxin巨说到:如果一个字符串 SS 是回文串,那么该字符串从前往后看和从后往前看是一样一样... 阅读全文
posted @ 2016-03-27 13:14 HARD_UNDERSTAND 阅读(206) 评论(0) 推荐(0)
摘要:题目: 给出一个n*n的 0、1矩阵,把尽量少的0改成1,使得每个元素的上下左右的元素之和都为偶数。 分析: 这题就是求哪些0变成1能满足题目条件,并求出最小值。一般这种题,就是每个位置的0变还是不变的问题,最先想到的就是枚举所有情况,找出最优解。但是因为最大是15*15矩阵,总共... 阅读全文
posted @ 2016-03-26 18:29 HARD_UNDERSTAND 阅读(318) 评论(0) 推荐(0)
摘要:题目:http://poj.org/problem?id=1753 题意: 有一个4*4的棋盘,棋盘上有黑白格,每一次你可以翻其中的一个格子,这个格子(x,y)如果被翻,那么对应的(x-1,y);(x+1,y);(x,y-1);(x,y+1)格子也会被翻为相对的颜色,让你写一个程序... 阅读全文
posted @ 2016-03-26 00:14 HARD_UNDERSTAND 阅读(199) 评论(0) 推荐(0)
摘要:题目:Codeforces 637D 题意: 有个人从0点走到m点,中间点会有障碍,他必须跨过去,但是在跨之前,必须跑一段距离,至少是s,然后他就可以跨越不大于d的距离,给出障碍点,问他能不能走到最后。 分析: 这场的题目叙述好难理解,这题我已开始读错题了,一位每个障碍是一段距离,... 阅读全文
posted @ 2016-03-25 00:02 HARD_UNDERSTAND 阅读(211) 评论(0) 推荐(0)
摘要:题目:hdu 5631 题意: 有一个n个点的连通图有n+1条边,问有几种删边的方法可以保持连通。 分析: n个点的连通图,那么最多可以删去两条边,因为n#include#include#include#includeusing namespace std;typedef long... 阅读全文
posted @ 2016-03-24 00:22 HARD_UNDERSTAND 阅读(144) 评论(0) 推荐(0)
摘要:题目:hdu 5438 题意: 有一些池塘用管道连接着,但是主人没钱了,要清除一些与其他池塘相连数目少于2的池塘,包括一些独立的池塘。每个池塘都有一个价值,最后在删完一些池塘后求出有奇数个连通块的池塘的价值和。 分析: 记得是一道网络赛的题目。而且还记得我做的时候,用了deque,... 阅读全文
posted @ 2016-03-23 23:41 HARD_UNDERSTAND 阅读(171) 评论(0) 推荐(0)
摘要:题目: 输入n个单词,是否可以把这些单词排成一个序列,使得第一个字母和上一个单词的最后一个字母相同。仅包含小写字母例如(acm malform mouse)就可以。 分析: 这是一道判断欧拉路的题目,上篇对欧拉路写了点基本定义。对于这题,把首尾字母看做节点,单词看成是有向边,用... 阅读全文
posted @ 2016-03-23 22:33 HARD_UNDERSTAND 阅读(174) 评论(0) 推荐(0)
摘要:题目:hdu 3018 题意: 有一些道路,每次只能走一遍,问最少几次走遍所有道路? 分析: 这题是经典问题:一笔画问题。解决这个问题,需要知道几个定理和定义: 1. 欧拉道路:能否从无向图中的一个节点出发走出一条道路,每条边恰好经过一次,这样的路线称为欧拉道路。 2. 如果一个图... 阅读全文
posted @ 2016-03-23 21:19 HARD_UNDERSTAND 阅读(226) 评论(0) 推荐(0)
摘要:用一句话描述一下并查集:并查集是用树来表示集合,他把每一个连通分量看做一个集合,其中包含了连通分量中的所有点,其中一个连通分量中的点都有共同的父亲结点。 具体的构造: 1. 初始化,每个点的父节点指向自己。 2. 如果两个点有边,那么就在一个连通分量中,所以指向同一个父节点。 3.... 阅读全文
posted @ 2016-03-23 15:37 HARD_UNDERSTAND 阅读(224) 评论(0) 推荐(0)
摘要:题目:http://acm.hdu.edu.cn/showproblem.php?pid=5171 题意: 给你N个数字,让你用这些数字构造一个最大的集合,其中可以选取M次最大的俩个数加入集合中,求最后集合中的数最大。 Multi test cases (about 3) . Th... 阅读全文
posted @ 2016-03-23 00:25 HARD_UNDERSTAND 阅读(182) 评论(0) 推荐(0)
摘要:题目:http://acm.hdu.edu.cn/showproblem.php?pid=5187 题意: 给你n个数,然后把这n个数排列,规则是先升后降或者先降后升。 分析: 其实规律很简单,只要确定了极值,顺序就一定了。但要注意n,p的范围。比如n=1,p=1的情况。一共有n个... 阅读全文
posted @ 2016-03-22 22:56 HARD_UNDERSTAND 阅读(199) 评论(0) 推荐(0)
摘要:题目: M斐波那契数列F[n]是一种整数数列,它的定义如下: F[0] = a F[1] = b F[n] = F[n-1] * F[n-2] ( n > 1 ) 现在给出a, b, n,你能求出F[n]的值吗? Input 输入包含多组测试数据; 每组数据占一行,包含3个整数a... 阅读全文
posted @ 2016-03-22 22:20 HARD_UNDERSTAND 阅读(213) 评论(0) 推荐(0)
摘要:题目:http://acm.hdu.edu.cn/showproblem.php?pid=3519 题意: 有n个硬币排成一排,有正有反,问有2个以上连续的相同硬币有几种方案 分析: 典型的推公式用矩阵快速幂求解的题目。 (偷个懒,贴个别人的推导) 长度为 n 的 01 串一共有 ... 阅读全文
posted @ 2016-03-22 20:48 HARD_UNDERSTAND 阅读(159) 评论(0) 推荐(0)
摘要:题目:Codeforces 633D 题意: 给出n个数,要求将这n个数排列,使得满足下列要求的前缀最小 the sequence consists of at least two elements f0 and f1 are arbitrary fn + ... 阅读全文
posted @ 2016-03-22 19:27 HARD_UNDERSTAND 阅读(157) 评论(0) 推荐(0)
摘要:题意:A number sequence is defined as follows: f(1) = 1, f(2) = 1, f(n) = (A * f(n - 1) + B * f(n - 2)) mod 7。Given A, B, and n, you are to calc... 阅读全文
posted @ 2016-03-22 18:38 HARD_UNDERSTAND 阅读(151) 评论(0) 推荐(0)
摘要:快速幂的用处很多,常见的问题有快速幂取模和矩阵快速幂,一般的问题套用模板就可以。快速幂的思想是分治,类似于二分,所以时间复杂度是O(n)。 推荐一篇很好的文章:http://blog.csdn.net/cambridgeacm/article/details/7703809FZU ... 阅读全文
posted @ 2016-03-22 17:10 HARD_UNDERSTAND 阅读(170) 评论(0) 推荐(0)
摘要:题目:http://codeforces.com/contest/632/problem/D 题目: 给出n个数,和m,要求从这n个数中找出最多个数,使它们的最小公倍数不超过m 分析: 先统计一下输入的数的个数,然后暴力求出每个数的倍数都加上这个数的个数,然后在m的范围内找一个最多... 阅读全文
posted @ 2016-03-22 12:45 HARD_UNDERSTAND 阅读(220) 评论(0) 推荐(0)
摘要:题目:Codeforces 632C题意: 输入n个字符串,将这n个字符串加起来,求最小字典序的字符串 例: Input 5 x xx xxa xxaa xxaaa Output xxaaaxxaaxxaxxx 分析: 自己像个傻逼一样,写了半天写了个自定义排序函数,虽然过了,但是... 阅读全文
posted @ 2016-03-22 00:07 HARD_UNDERSTAND 阅读(165) 评论(0) 推荐(0)
摘要:题目: 新的宿舍楼有 N(1≤N≤100000) 层 and M(1≤M≤100000)个学生. 在新的宿舍楼里, 为了节约学生的时间也为了鼓励学生锻炼身体, 所以规定该宿舍楼里的电梯在相邻的两层之间是不会连续停下(即,如果在第2层停下就不能在第3层停下。).所以,如果有学... 阅读全文
posted @ 2016-03-21 21:35 HARD_UNDERSTAND 阅读(168) 评论(0) 推荐(0)
摘要:题目:Codeforces 625B 题意: 给你主串s,模式串t,其中t可能会在s中出现很多次,每次操作可以使s中的一个字符换成’#’,问最少的操作次数。 分析: 简单的KMP,求出模式串t在主串中出现的位置,然后再找出重叠的个数,相减即使答案。 例如主串1212121,模式串1... 阅读全文
posted @ 2016-03-20 15:14 HARD_UNDERSTAND 阅读(152) 评论(0) 推荐(0)
摘要:题目:http://codeforces.com/problemset/problem/631/D 题意: 输入一段压缩后的字符串,问子串在主串中出现的次数 分析: KMP匹配求子串在主串中出现的次数,因为是压缩后的字符串,这就要考虑字符串的长度。因为要完全匹配,显然,模式串的中间... 阅读全文
posted @ 2016-03-20 13:55 HARD_UNDERSTAND 阅读(184) 评论(0) 推荐(0)
摘要:准备系统的学习一下算法,就先行KMP开始吧!到目前为止,我能用到KMP的地方有三类题目: - 给出主串s和模式串t,查找t在s中出现的位置 - 给出主串s和模式串t,查找t在s中出现的次数 - 给出一个字符串t,求t中循环节的个数KMP算法的时间复杂度是O(n),因为主串s在匹配过... 阅读全文
posted @ 2016-03-20 12:20 HARD_UNDERSTAND 阅读(191) 评论(0) 推荐(0)
摘要:题目 :hdu 5646题意: 给出整数n,k,求n的k个划分,使得k个数乘积最大分析: 要想乘积最大,而且所有的数不同。首先想到的就是所有的数在平均值两边,即在n/k两边,剩下n%k就要往右边补了。基本的思路是这样,实现起来为了保持都不一样,先给1-k个数附上1-k的数值,剩下的... 阅读全文
posted @ 2016-03-20 08:13 HARD_UNDERSTAND 阅读(170) 评论(0) 推荐(0)