搜索
文章平均质量分 88
HARD_UNDERSTAND
Just try
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Codeforces 659E 找环+(并查集/dfs)
题目: http://codeforces.com/problemset/problem/659/E 题意: 给你一个图,现在要你给这个图里面的边定方向,使得入度为0的点最少。 分析: 对于一个连通块而言,如果里面存在一个环,那么必然所有点的入度都可以大于等于1 否则的话,就存在一个点的入度为0。并查集:#include <bits/stdc++.h>using namespace s原创 2016-03-31 23:45:25 · 356 阅读 · 0 评论 -
hdu 5925 Coconuts (构造,离散化*)
题目:http://acm.hdu.edu.cn/showproblem.php?pid=5925 题意: 给定一个R*C的矩阵和n个障碍点,求出矩阵中所有联通块的大小。 分析: 读完题后,心想这不就是求连通块嘛! 然而R,C范围(1e9),蒙蔽一秒 但是障碍才200,那把矩阵压缩一下就搞定了,每一个矩形块压缩成一个点,再求连通块就好 我是不会告诉你我是看的题解原创 2016-10-07 11:10:00 · 754 阅读 · 0 评论 -
hdu 5952 Counting Cliques(dfs优化)
题目:http://acm.hdu.edu.cn/showproblem.php?pid=5952 题意: 给一n个点m条边的图,找一个有s个顶点的完全子图。分析: 对于每个s点完全子图,如果i点在子图中,那么就枚举与i有边的其他点,每加入一个点,就判断一下是否和其他已加入的点有边,如果是就可以加入,否则不能加。 爆搜一发,T了(不是听说爆搜可以嘛QAQ) 优化一下就是对于搜原创 2016-10-30 21:46:15 · 1161 阅读 · 0 评论 -
Codeforces 761E Dasha and Puzzle【构造,树dfs】
题目:http://codeforces.com/contest/761/problem/E题意:给出n(n<=30)个节点的树,给每个点确定一个坐标,使得n-1跳边和坐标轴平行。要保证所有的边都不想交。分析:很显然,如果某个点的度大于4,那么无解。 那么问题的就变成了从一个点出发,把所有邻接点向上下左右四个方向确定即可。 问题的关键是怎么使得所有的边不会相交? 提示:20 + 21 + ..原创 2017-02-28 18:24:50 · 382 阅读 · 0 评论 -
Codeforces Round #398 (Div. 2)题解
题目:http://codeforces.com/contest/767吐槽: 这场的题目不太行啊,感觉B题麻烦的要死,CD都比B简单。A Snacktower分析:简单模拟一下即可。B The Queue题意:排队在窗口买票,营业时间是[ts,tf],一个人办理业务需要的时间都是t 现在知道了n个人去到达的时间f[i] 现在小明要去买票,小明到达的时间如果跟n个人中某人一样,那么就在这些人后原创 2017-02-19 23:36:03 · 492 阅读 · 0 评论 -
Codeforces 765E - Tree Folding 【树,dfs/bfs】
题目:http://codeforces.com/contest/765/problem/E题意:给你一棵树,可以在这棵树上进行若干次操作,每次操作可以把两条长度相同的链,根据一个中点合并在一起。 然后问你经过若干次合并之后,最后的最短链长度是多少。 如果不能合并成一条链,输出-1.分析:拓扑排序,每次我们从度数为1的点出发bfs。 然后往上合并,如果遇到交叉点,我们就合并链。 我们用一个s原创 2017-02-20 15:24:05 · 743 阅读 · 0 评论 -
hihoCoder [Offer收割]编程练习赛8【数论,dfs,dp,容斥】
题目:http://hihocoder.com/contest/offers8/problems【我只是简单地mark一下,看详细题解的请戳这里】A题肯定L和D的最大公因数肯定是循环节,然后直接暴力模拟即可。#include<bits/stdc++.h>using namespace std;typedef long long ll;int main() { int T; sc原创 2017-03-07 19:43:27 · 479 阅读 · 0 评论 -
Codefroces 791B【判断完全图,简单题】
题目:http://codeforces.com/contest/791/problem/B题意:给一个图,判断每个连通分量是不是完全图?分析:其实知道是求完全图就很好做了、判断每个连通分量的是否v*(v-1)==e即可,v是顶点数量,e是边的数量。代码:#include<bits/stdc++.h>using namespace std;bool vis[200005];vector<int原创 2017-03-24 11:08:21 · 1065 阅读 · 0 评论 -
hdu 6113 度度熊的01世界【搜索好题】
题目http://acm.hdu.edu.cn/showproblem.php?pid=6113题意Problem Description 度度熊是一个喜欢计算机的孩子,在计算机的世界中,所有事物实际上都只由0和1组成。现在给你一个n*m的图像,你需要分辨他究竟是0,还是1,或者两者均不是。图像0的定义:存在1字符且1字符只能是由一个连通块组成,存在且仅存在一个由0字符组成的连通块完全被1所包围。原创 2017-08-23 20:45:46 · 274 阅读 · 0 评论 -
Wannafly模拟赛3 贝伦卡斯泰露 【折半搜索+hash,状压dp】
题目:https://www.nowcoder.com/acm/contest/13/B 题意: 给出一个长度为n的数列Ai,问是否能将这个数列分解为两个长度 为n/2的子序列,满足 ∙ 两个子序列不互相重叠。 ∙ 两个子序列中的数要完全一样,{1, 2} = {1, 2},{1, 2} ≠ {2, 1}。分析: 刚开始贪心,第2个序列尽量匹配最左边的数,后来想了想不对。 后来dfs爆原创 2017-10-10 13:23:10 · 573 阅读 · 0 评论 -
poj 几道简单的搜索题(三)
题目:poj 2531题意:给出n(n分析:n=20,暴力枚举的时间复杂度才O(2^20*C),C是求和的时间常数。2000ms的时间足够了。暴力枚举的话可以子集枚举和递归(时间接近1000ms)。这题递归的话可以剪枝,可以优化到32ms,方法是参考:http://blog.youkuaiyun.com/martin31hao/article/details/8098302原创 2016-07-15 00:12:38 · 754 阅读 · 0 评论 -
Codeforces 721C Journey (简单dp,dfs)
题目:http://codeforces.com/contest/721/problem/C 题意: 一个DAG图有n个点,m条边,走过1条边花费w个时间单位,总共有T时间,问从1到n最多可以经过多少个点?分析: dp[u][k]表示到u点,已经经过了k个点,还剩下的时间 转移的话在图上搜一遍 担心会超时,可是没有。因为状态最多有n*n个。代码:#include<bits/原创 2016-11-03 19:49:21 · 476 阅读 · 0 评论 -
UVALive 3565 Bit Compressor (搜索)
题目:https://vjudge.net/contest/132370#problem/A 题意: 压缩01序列,压缩方法数是把连续的的1序列用二进制表示(前提是可以缩短原串的长度),给出压缩后的序列,和压缩前序列的长度和1的个数。问如果有多种压缩方法输出NOT UNIQUE,没有一种方法输出NO,有唯一一种输出YES。分析: 很好的一道搜索题目,这题细节很多,需要注意的是对10和11原创 2016-09-17 10:05:51 · 897 阅读 · 1 评论 -
Codeforces 679B - dp
DescriptionLimak is a little polar bear. He plays by building towers from blocks. Every block is a cube with positive integer length of side. Limak has infinitely many blocks of each side length.A bloc原创 2016-07-01 12:31:14 · 282 阅读 · 0 评论 -
Codeforces 685B 树形dp
题意:给出有n个点的树,有q次询问某个点的重心是什么?InputThe first line of the input contains two integers n andq (2 ≤ n ≤ 300 000,1 ≤ q ≤ 300 000) — the size of the initial tree and the number of queries respective原创 2016-07-01 23:32:46 · 441 阅读 · 0 评论 -
poj 几道简单的搜索题 (一)
题目:poj 2488 A Knight's Journey题意:给一个m*n的棋盘,马走日,给出一条字典序最小的马的路线来走完整个棋盘?分析:如果能走完棋盘,那么从(1,1)点dfs即可,因为他能走完整个棋盘嘛,总有一步会经过(1,1),所以从(1,1)出发就能到其他所有点。为了保证字典序,在枚举方向时顺序要保证x轴优先,然后y轴。#include#include原创 2016-07-13 16:24:07 · 1355 阅读 · 0 评论 -
poj 几道简单的搜索题(二)
题目:poj 3278题意:在[0,100000]上,给定两个整数n和k通过 n+1或n-1 或n*2 这3种操作,使得n==k,输出最少的操作次数分析:bfs入门题,每个状态记录一下位置和步数,然后bfs就好。题目:poj 1426题意:给一个正整数n,找出n的某个倍数m,m可以用01表示。n分析:看完m的数据范围吓傻了QAQ,可是n才200,然后原创 2016-07-13 23:22:53 · 680 阅读 · 0 评论 -
poj 2049 Finding Nemo(bfs+优先队列)
题意:Marlin去找困在迷宫中的Nemo,墙壁不可以穿过,但是墙上的门可以穿过,问Marlin最少穿过几扇门可以找到Nemo,无法到达输出-1.分析:这题比较麻烦的地方是怎么判断格子的一条边是墙壁还是门还是什么都没有。为了区别是哪条边,我用一个80000的g数组去判断,给每条边一个ID值去区分。与x轴平行的边是x+y*200,与y轴平行的边是40000+200*x+y,其中x和y是每原创 2016-07-05 22:33:15 · 321 阅读 · 0 评论 -
poj 3083 dfs+bfs最短路
题目:点击打开链接 题意:给出图(最大40*40),#是障碍物不能走,问下面三种从S到达E的路径长度?1》每次优先选择左手边。2》每次优先选择右手边。3》最短路。分析:最短路简单,裸的bfs。优先选择左边的路径,因为要从左手便开始选择,所以要知道当前位置的朝向,如果现在面朝北,那么现在优先选择方向为西北东南,即,从左手边顺时针旋转。西北东南依次标记为0123,假如当前方向dir原创 2016-07-06 09:22:11 · 312 阅读 · 0 评论 -
poj3026 bfs+prim
题意:有一个n*m的图,有S,A,#和空格,S可以到达A并且使A变成S,然后这个S又可以去侵染别的A,问A都变成S需要多少步?分析:题目相当于求出S和A构成的最小生成树。首先把S和A找出来,枚举每个S和A,然后bfs求一下单点到其他点的最短距离,然后套prim模板就行。这题有个特别坑的地方就是数字后面可等有多个空格,好坑!!!#include#include#i原创 2016-07-07 15:37:48 · 283 阅读 · 0 评论 -
hdu 5723 最小生成树+dfs (多校)
题意: 给出一个图,求最小生成树,然后求一下最小生成树的任意两点之间距离的期望。n<=100000,m<=1000000 分析: 期望=任意两点之间的距离和/(n*(n-1)/2) 每条边对距离和的贡献就是这条边的两端的点数之积,可以任选一个点dfs,那么一条边的贡献就是子结点和父结点两端的点数之积,子结点一端的点数是nun,那么父节点一端的点数就是n-num。贡献就是num*(n-num)原创 2016-07-21 10:07:38 · 394 阅读 · 0 评论 -
Codeforces 711D dfs找环
题目:http://codeforces.com/contest/711/problem/D题意: 有一个n个点的有向图,有n条边,分别从每个点 i 出发指向某个点ai,现在可以把某些边翻转,问总共可以得到多少种无换图? 例如输入: 3 2 3 1 一共有6种方案 分析: 要想得到无换图,那么就需要把环找出来,然后至少翻转一条边就可以了,总的方法数是2^x-2原创 2016-09-01 09:38:47 · 270 阅读 · 1 评论 -
Codeforces 873 D Merge Sort 【分治】
题目: http://codeforces.com/contest/873/problem/D题意: 子序列长度为n,归并排序,如果子序列不是有序的,那么就折半,再递归,直到子序列有序,总共递归k次。 给出n和k,求原来的子序列。分析: 归并排序的变形,每次折半直到k为0。代码:#include <iostream>#include <algorithm>#include <string原创 2017-10-30 00:27:44 · 445 阅读 · 0 评论
分享