自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

shaonianguai

一条大菜狗

  • 博客(23)
  • 资源 (5)
  • 收藏
  • 关注

原创 HDU3594 Cactus 强连通 判断一条边是否只在一个环内

题意很简单,如果图满足1:强连通图2:图中每条边只处于一个环内怎么样判断一个边只在一个环内呢?其实在没有找到一个环之前的时候,有一个DFS的过程,在这个过程中每走到一个点,我们就记录一下它是有哪一个点走下来的 也就是这个点的上一层的点,等到我们找到环的时候,我们马上返回去查找,查找那个点是 out了两次以上,那么肯定有边处于两个或者两个以上环内,就不符合了#includ

2014-01-24 19:03:12 1020

原创 POJ3114 Countries in War 强连通缩点 + 最短路

今天做了个练习赛,,这道题目主要是题意坑爹,间谍在战争时期想要传递一份邮件回国,邮件可以在各个邮局之间传播,但传递是单向的,并且耗时,如果两个邮局在一个国家的话,那么邮件在他们之间的传递不用耗时,判断两个邮局是否在一个国家的标准是两个邮局可以互相传递邮件由于两个邮局可以互相传递邮件就是一个国家的,可以想到强连通,进行缩点操作,缩点过程中要同时维护新图的边权,会发现每个国家之间想要完成联系可以通

2014-01-24 18:57:48 947

原创 ZOJ3232 It's not Floyd Algorithm 强连通缩点 + floyd

当我们看到这篇文章后http://blog.sina.com.cn/s/blog_6a44b3340100ko9d.html,估计都不太敢写解析,应该没有比这个更详细更形象的了,把传递闭包 那个外壳剥去 就简单多了,弄清楚传递闭包 跟floyd的关系就可以了,还是直接上代码吧#include#include#include#include#include#include#i

2014-01-24 18:50:06 895

原创 POJ2762 Going from u to v or from v to u? 强连通 Tarjan缩点+拓扑排序topsort

过题率并不高,肯定有什么陷阱的,所以仔细读了题目,有个地方还是要注意的,检验一个图中任意两点A跟B是否可以到达,即 A->B或者B-> A 或者AB,所以这个不是一个简简单单的强联通分量的问题了,要先进行缩点操作,此时若此图要满足题目的要求的话,化简过后的图 肯定是符合topsort的性质的,因为要任意两点 可以到达(注意不要求互相到达),所以可以用topsort来解决,在sort过程中出现

2014-01-23 22:21:24 1287

原创 HDU3836 Equivalent Sets 强联通分量 Tarjan

因为团队合作的原因,我主要是要学好数论 补枪数据结构 还有多多做DP这类题目,图论很差劲,感觉学图论真的要听大神的话,好好看书,静下心来好好的看,看完一遍可能什么都不懂,但是对各个名字理解了,结合做题,很快就会明白很多,图论比较抽象的建图,一定要多多在脑海中构造,看书很重要,这个是本菜鸟的经验,多多包涵,   题目看上去复杂,题目也比较短,耐心读一读,仔细分析一下 所谓的子集和集合的关系什么的,乱

2014-01-23 19:43:07 841

原创 HDU1827 Summer Holiday 强连通 Tarjan 缩点 统计

中文题一道,好题啊,读题简单多了,做起来也不难,就是缩点,缩点完成后,入度为0的点 就是需要主人公特意需要去打电话的点,缩点后 对于某一个团的最小话费就很好求了,直接暴力查找就可以了,#include#include#include#include#include#include#include#include#include#include#inc

2014-01-23 15:26:30 878

原创 HDU2767 Proving Equivalences 强连通 Tarjan 缩点成树 统计

题目给了N个点M条边,问还需要几条边可以是的此图变成强连通图,我们知道 A->B,B->C,C->A,这样A,B,C三点成环,如果此时有一个点D与A连接,其实D就与B,C都连接了,所以可以把A,B,C当作一个整体来处理,也就是所谓的缩点,把整个图先缩成一个个团点,只要把这几个团点连在一起 实际上所有的点就连在了一起了,缩点完成后,统计一下连通的出度入度,取大的那个就可以了,时间宽裕,统计完全可以暴

2014-01-22 20:35:20 936

原创 HDU1269 迷宫城堡 强连通 Tarjan

判断一个图中任意两个点是否双向,就是判断一个图是不是强连通图,每一个点的Low值都是一样的,换言之low数组值都想等#include#include#include#include#include#include#include#include#include#include#include#include#include#define ll long lo

2014-01-22 18:34:44 830

原创 POJ2186 Popular Cows 强连通 Tarjan

强连通的模版题,Kosaraju,Tarjan,Garbow三种随便选一种就可以了,三种算法的复杂度都是一样的O(n+m),题意是有N头牛M种关系,牛之间会产生仰慕感,而且会传递,比如说A仰慕B,B仰慕C,那么A仰慕C,问有几头牛是被所有的牛仰慕的这里我们可以看到一般如果 A->B,B->C,C->A,形成环的话也就是强连通形成时,这三个牛任何一个仰慕其它牛,也就代表着三头都仰慕其它的

2014-01-21 21:14:08 824

转载 强连通 模版

转自http://blog.csdn.net/acmmmm/article/details/9963693#define N 30100//N为点数#define M 150100//M为边数int n, m;struct Edge{ int from, to, nex; bool sign;//是否为桥}edge[M<<1];int head[N]

2014-01-21 18:52:33 717

原创 HDU 1474 HDU1580 UVA570 Always On the Run

有一些城市,每一行都是第几个城市到其它城市的航班,跟花费,0代表没有,问最小花费#include#include#include#include#include#include#include#include#include#include#include#include#include

2014-01-21 01:32:28 1462

原创 URAL 1998 The old Padawan

题目只给了500ms,注意超时问题,一开始的几发都超时了,后来想到了预处理,从后往前推即可,为了防止t的大小可能有问题,所以进行了排序,还有人用二分做的,比较犀利先贴一个我的思路#include#include#include#include#include#include#include#include#include#include#include#inclu

2014-01-19 22:18:24 1067

原创 Ua10003 Cutting Sticks DP经典题目

绕了我好久,花了好几个小时,参考了很多人的意见,都说是入门级DP,可是觉得好难,dp数组一开始就没设定好,最后以dp[i][j]来表示 区间 i到j的最小花费就可以了,#include#include#include#include#include#include#include#include#include#include#include#include#i

2014-01-19 00:00:58 1005

原创 POJ3067 Japan 线段树 || 树状数组

多数人使用了树状数组,这道题目其实还可以暴力打表,题意就是日本东边有N个城市,西边有M个,左右之间需要高速公路连起来,连接题目已经给出,问高速公路的交点个数,题目已经声明 三条及三条以上的高速路 绝对不会相交于同一点打表举个例子:1,2,3,4表示东边城市标号,1,2,3,4,5,表示西边的,如果题目给出东边3与西边3相连,下面表中的 ** 号表示已经连接,那么影响高速交点 个数的 连接

2014-01-18 21:44:58 948

原创 POJ3468 A Simple Problem with Integers 线段树 区间成段更新+区间求和

很明显的线段树,果然比用伸展树舒服多了,没有太多的思路,就是区间成段的更新  还有 区间 求和操作,直接看代码#include#include#include#include#include#include#include#include#include#include#include#include#include#define ll long long

2014-01-17 22:31:31 922

原创 HDU1754 I Hate It 线段树 区间更新 区间查找 最大值

一看基本就是线段树的题目,考察的是区间更新 和区间查找,#include#include#include#include#include#include#include#include#include#include#include#include#include#define ll long long#define eps 1e-7#define

2014-01-17 20:45:39 1059

原创 UVA674 Coin Change 简单的DP

刚开始一直都是RE,这道题目 题目的意思跟目的跟HDU2069是一样的,只是题目要求有了点变化,HDU2069是最多用100个钱币,这里呢 最多输入的 钱为7489,自然而然最多用到的钱币为7489个,所以一开始用了一样的方法,把数组开为8000*8000,可是一直RE,不知道为什么,也没有超内存,而且范围最多也不会超8000的,现在还不清楚,于是只能换思路了,仔细看看这道题目完全可以看作一个一维

2014-01-16 20:37:52 854

原创 HDU2069 Coin Change 背包

经典的DP题目,给你面值有1,5,10,25,50的币种,然后随意输入一个钱的数目,问用这些面值刚好凑成这个钱的方法有多少个这道题目还可以用母函数做,但是背包更好做,仔细看一下题目的条件,最多会用100个钱币,所以可以直接先暴力预处理就可以了,想好dp数组的含义就可以了,状态转移方程就是很简单的背包#include#include#include#include#inc

2014-01-16 19:53:49 920

原创 Uva103 Stacking Boxes 贪心 深搜 +DP思想

题目勉强可以算是一个DP题目把,贪心部分很好想到,题意是 给你k个n维的 盒子,如果一个盒子的相应的每一维都比另一个盒子的每一维大,就代表这个盒子包含另一个盒子,问给你的k个盒子中最多几个盒子连续包含,而且每一维的位置并不是固定的,是可以自己排序调整的,那么直接应用贪心思想全部从小到大或者从大到小都是可以的,接下来 就是一个 DFS过程了,每找到一个盒子 他能包含另一个盒子时,再往下一层进行寻找,

2014-01-16 18:10:46 909

原创 UVA111 History Grading 简单的DP

这道题目有个地方很难,那就是题意,不知道是不是我的鸟语差,这道题目读起来要读很久才能理解,看到别人的博客也是有这样的吐槽,应该不是我的鸟语差,卖个关子就不说提议了,总是 是一个 LCS的问题,开的是一维的DP数组,要另外开一个记录当前的变化,如果开二维DP数组可能会更好理解一点,别人多数开的是二维的,我的跟某个大神的差不多 想到一维去了#include#include#includ

2014-01-15 22:27:57 963

原创 HDU2196 树状DP

树形DP题,做的有些艰难,以前没怎么做过这方面的题目,有些理不清楚,题意很简单,就是给你一些电脑,每两台电脑之间若要连通是需要一定的权值的,把这些电脑按照input连在一起,形成一颗树,问树中每一个节点 到另一个节点(不确定是哪个几点)的距离值中最大距离,我们知道每一个节点最大值无非来自两个地方,1:来自于他的子树中2;从他父亲节点过来的,但是有个地方要注意,从父节点过来的有可能是直接的,也有

2014-01-15 21:26:59 839

原创 CF380A Sereja and Prefixes

开始集训了,一直以来状态不是很好,CODE FORCE 跌的跟狗一样, 现在开始补题目,这道题目还不错的,题意咱就不说了,http://codeforces.com/problemset/problem/380/A题目要求的有两种操作,一个是加入单独元素,还有一个就是复制原来已经存在的元素再加进去,有点类似于栈,但是操作步骤会有很多步,所以要真用类似于栈的方法做肯定会超时的,这里询问了

2014-01-15 14:10:58 941

原创 POJ2356 Find a multiple 抽屉原理(鸽巢原理)

题意:给你N个数,从中取出任意个数的数 使得他们的和 是 N的倍数;在鸽巢原理的介绍里面,有例题介绍:设a1,a2,a3,……am是正整数的序列,试证明至少存在正数k和l,1构造一个序列s1=a1,s2=a1+a2,……,sm=a1+a2+……+am,那么会产生两种可能:1:若有一个sn是m的倍数,那么定理成立:2:假设上述的序列中没有任何一个元素是m的倍数,令rh ≡ s

2014-01-05 22:53:45 1166

QT开发的小作品

QT开发小作品,小游戏,有两个,算是比较完善的了,代码具有注释可以自己看看

2015-12-29

AFNetworking2.5

AFNetworking框架 将文件夹中的名为 AFNetworking的子文件夹 添加到项目中去

2015-08-23

输出素数C++

设计一个程序,输入一个整数num(如num=120),降序输出小于num的所有素数,使用StackOfIntegers来保存素数(如2,3,5….),并利用它逆序获取和输出素数。

2014-11-10

MyInteger类

设计一个名为MyInteger的类,类包含: 一个名为valuede 的int型数据域,保存次对象表示的int型值 一个用指定的int型值创建一个MyInteger对象的构造函数 一个返回int型值的获取器函数 函数isEven()、isOdd()和isPrime分别在整数为偶数、奇数或素数的情况下返回真。 静态函数isEven(int)、isOdd(int),和isPrime(int)分别在给定整数为偶数、奇数或素数的情况下返回真。 函数equals(int)和equal(MyInteger)在本对象表示的整数值等于给定值的情况下返回真。 一个静态函数parseInt(string)将一个字符串转换为一个int型值。 画出类的UML图,实现类。编写一个客户程序,测试类的所有函数。

2014-11-10

TicTacToe游戏

2.(TicTacToe游戏)所谓TicTacToe游戏,就是两个游戏者轮流在一个3*3的棋盘的空位放入代表他们自己的棋子(可用X和O区分)。如果一个游戏者的棋子占据了棋盘的一行、一列或一条对角线,则游戏结束,此有学者获胜。当所有棋盘格都被填满,而没有任何一方能占据一行、一列或一条对角线,则为平局。编写一个玩TicTacToe的游戏程序,方式如下: 程序提示第一个游戏者放置一个X棋子,然后提示第二个游戏者放置一个O棋子。每当游戏者放置一个棋子,程序即刷新屏幕显示棋盘状况,并判断棋局状态(胜,平或尚未结束)。 为放置一个棋子,程序应提示用户输入棋子的行号和列号。 定义一个该类的友元函数print(),用来打印棋盘

2014-11-10

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除