2014年3月26日

jsp学习之包含——include

摘要: http://blog.e23.cn/?uid-1255655-action-viewspace-itemid-1342321.include:Include指令:<%@includefile="filename"%>Include动作:<jsp:includepage="page.jsp"flush="true"/>指令将会在JSP编译时插入一个包含文本或代码的文件,当你使用指命时,这个包含的过程就当是静态的。静态的包含就是指这个被包含的文件将会被插入到JSP文件中去,这个包含的文件可以是JSP文件,HTML文件,文本文件。如果包含 阅读全文

posted @ 2014-03-26 10:56 [S*I]SImMon_WCG______* 阅读(262) 评论(0) 推荐(1) 编辑

2013年12月10日

android开发之使用SQLite数据库存储

摘要: http://blog.csdn.net/jason0539/article/details/16360835SQLite 介绍SQLite 一个非常流行的嵌入式数据库,它支持 SQL 语言,并且只利用很少的内存就有很好的性能。此外它还是开源的,任何人都可以使用它。许多开源项目((Mozilla, PHP, Python)都使用了 SQLite.SQLite 由以下几个组件组成:SQL 编译器、内核、后端以及附件。SQLite 通过利用虚拟机和虚拟数据库引擎(VDBE),使调试、修改和扩展 SQLite 的内核变得更加方便。SQLite 基本上符合 SQL-92 标准,和其他的主要 SQL 数 阅读全文

posted @ 2013-12-10 17:42 [S*I]SImMon_WCG______* 阅读(223) 评论(0) 推荐(1) 编辑

ContentProvider示例

摘要: http://hi.baidu.com/pekdou/item/b2a070c37552af210831c678首先,我自己是各初学者,网上一些关于ContentProvider的例子也不少,我自己试了很多,但总是有问题,终于今天哥自己写了个出来,自己摸索着写真是太累了。首先说个查询一条记录的toy demo:ContentProviderExample(Project name) |_src | |_com.motorola.snow.toy | |_ContentProviderExample.java | |_DataProvider.java |_res | |_layout | | 阅读全文

posted @ 2013-12-10 16:46 [S*I]SImMon_WCG______* 阅读(297) 评论(0) 推荐(1) 编辑

自定义ContentProvider的一些细节探究

摘要: http://blog.csdn.net/sadfishsc/article/details/74195731.适用范围对于什么情况下才会用到自定义的ContentProvider,官方文档的Dev Guide是这样描述的:如果你想要提供以下的一种或几种特性的时候你才需要构造一个ContentProvider:你想要为其它的应用提供复杂的数据或者文件;你想允许用户从你的应用中拷贝复杂的数据到其它的应用中;你想要使用搜索框架来提供自定义的搜索策略。你完全不需要ContentProvider来调用一个SQLite数据库,如果这种调用完全在你自己的应用之中。也就是说,ContentProvider的 阅读全文

posted @ 2013-12-10 15:24 [S*I]SImMon_WCG______* 阅读(330) 评论(0) 推荐(0) 编辑

Android中应用contentprovider来创建数据库的一些步骤

摘要: http://blog.csdn.net/xiaodongvtion/article/details/78656691:首先创建一个xxprovider的class,它是extendscontentprovider的。2:在这个xxprovider中首选定义要创建的数据库的databasename,以及databaseversion3:非常重要的是:建立database的authority。值得注意的是这个authority必须和配置文件中的authority必须是一致的4:创建这个数据库的要创建的数据表的名字tablename5:创建外部通过访问数据表的Uri。(publicstaticfi 阅读全文

posted @ 2013-12-10 10:52 [S*I]SImMon_WCG______* 阅读(712) 评论(0) 推荐(0) 编辑

SQLite与ContentProvider

摘要: http://www.rom007.com/SQLite-yu-ContentProvider.html在Android中,对于数据的存贮,有几种方式,有文件方式,有文件式数据库方式,Android自带了一个SQLite数据库,做嵌入开发的人对这个跨平台的本地文件数据库一定不会陌生,在Android对于数据的访问,提出了新的方式,ContentProvider方式,类似于MS的ContentProvider方式的,OLEDB,及ODBC统一的数据方式。我们首先来看看SQLite在 Android中的使用,在Android中有最简单的使用方式,就是利Context对象的openorCreateD 阅读全文

posted @ 2013-12-10 10:40 [S*I]SImMon_WCG______* 阅读(290) 评论(0) 推荐(0) 编辑

2012年10月27日

信号量上的PV操作(转)

摘要: 进程通常分为就绪、运行和阻塞三个工作状态。三种状态在某些条件下可以转换,三者之间的转换关系如下: 进程三个状态之间的转换就是靠PV操作来控制的。PV操作主要就是P操作、V操作和信号量。其中信号量起到了至关重要的作用。 信号量 信号量是最早出现的用来解决进程同步与互斥问题的机制。 信号量(Saphore)由一个值和一个指针组成,指针指向等待该信号量的进程。信号量的值表示相应资源的使用情况。信号量S>=0时,S表示可用资源的数量。执行一次P操作意味着请求分配一个资源,因此S的值减1;当S<0时,表示已经没有可用资源,S的绝对值表示当前等待该资源的进程数。请求者必须等待其他进程释放该类资 阅读全文

posted @ 2012-10-27 11:13 [S*I]SImMon_WCG______* 阅读(3844) 评论(0) 推荐(4) 编辑

2012年10月20日

HDU 1075 What Are You Talking About (字典树)

摘要: 题目:http://acm.hdu.edu.cn/showproblem.php?pid=1075题意:先给出一些单词的翻译,然后给出文章,要求把能够翻译单词的全都翻译分析:两种方法,都是扫文章,然后如果是字母则为保存一个单词,然后判断,是否能翻译,能就翻译,否则输出原单词,符号直接输出。法一,用map 法二,用字典树先说字典树,主要用字典树来判断该单词是否在字典中,并保存它的翻译。。。结点的数据域用了isWord(表示是否存在以该结点为结尾的单词),和ansChar(保存该单词的翻译)代码有点乱,主要是思想代码:#include <iostream>#include <st 阅读全文

posted @ 2012-10-20 17:56 [S*I]SImMon_WCG______* 阅读(263) 评论(0) 推荐(0) 编辑

HDU 1251 统计难题(字典树)

摘要: 题目:http://acm.hdu.edu.cn/showproblem.php?pid=1251字典树就是这样一幅图即每个结点有多个儿子结点。。。然后单词的前缀会在树中重合,而结点的数据域随题目而变,例如这题,数据域prefixNum表示含以该结点结尾的前缀的单词的个数。那么如果你想知道树中某单词是否存在,则数据域isWord == 1表示存在以该结点结尾的单词字典树效率高在于他只需要遍历该单词#include <iostream>using namespace std;struct Node{ struct Node *child[26]; int perfixNum;//表示 阅读全文

posted @ 2012-10-20 17:34 [S*I]SImMon_WCG______* 阅读(272) 评论(0) 推荐(0) 编辑

2012年9月13日

HDUOJ 分类(转)

摘要: 模拟题, 枚举1002 1004 1013 1015 1017 1020 1022 1029 1031 1033 1034 1035 1036 1037 1039 1042 1047 1048 1049 1050 1057 1062 1063 1064 1070 1073 1075 1082 1083 1084 1088 1106 1107 1113 1117 1119 1128 1129 1144 1148 1157 1161 1170 1172 1177 1197 1200 1201 1202 1205 1209 1212(大数取模) 1216(链表)1218 1219 1225 1228 阅读全文

posted @ 2012-09-13 09:05 [S*I]SImMon_WCG______* 阅读(402) 评论(0) 推荐(0) 编辑

2012年9月11日

背包的硬币问题

摘要: 首先说没限制的硬币问题吧:先看这个问题:在一个国家仅有1分,2分,3分硬币,将钱N兑换成硬币有很多种兑法。请你编程序计算出共有多少种兑法。我们用dp[n]表示用这些硬币组成n的方法总数。。。。然后随着硬币种类的增加来更新dp[]的值,也就是最外面的一层循环for(i :1-->3)开始初始化的时候没有硬币,然后新来了面值为1的硬币,接着又来了面值为2的硬币。。。。显然,每新增加一种面值的硬币,dp[]的值一定在增加。。。新的dp[] = 未新增前的dp[] + dp[1件新增硬币] +dp[2件新增硬币] +dp[3件新增硬币] +.......dp[k件新增硬币]由于for里用了完全背 阅读全文

posted @ 2012-09-11 21:18 [S*I]SImMon_WCG______* 阅读(2036) 评论(1) 推荐(1) 编辑

2012年9月10日

HDU 1258 Sum It Up(Dfs)

摘要: 题目:http://acm.hdu.edu.cn/showproblem.php?pid=1258题意:sum n n个数,输出所有和为sum的组合,要非递增且不能重复如第三个样例:本来可以有多个50+50+50+50+50+50+25+25+25+25,但是只输出了一个这里有两点:1~怎么输出非递增的组合。。。。由于他输入就按非递增的了。。。所以我Dfs的for()从最后一个被用的下一位开始找。。。。保证下一个数是在目前最后一个被用的数字的后面。。。2~怎么判重,本来可以求SUM然后从低位像a+b*sum+c*sum*sum的形式Hash,但是1000^12太大了。。。,由于最多只有12个数 阅读全文

posted @ 2012-09-10 21:13 [S*I]SImMon_WCG______* 阅读(625) 评论(0) 推荐(0) 编辑

HDU 4277 USACO ORZ(Dfs)

摘要: 题目:http://acm.hdu.edu.cn/showproblem.php?pid=4277题意:给你n个数,要你用光所有数字组成一个三角形,问能组成多少种不同的三角形发现自己弱爆了。。。。Dfs()超级弱。。。。分析:每个数字一定在其中一条边,所以枚举所有数字的位置。。3^15暴搜,根本不需要什么used[]。。。到所有数字都用完后,即到出口的时候,除去相同的三角形,重要的剪枝:a<=b<=c(看起来像没什么用,但是这是关键),且a,b,c都不等于0,然后a + b*sum +c*sum*sum来构造一个唯一值再用set来计算总个数。。。。。不要小看一些不起眼的剪枝。。。。 阅读全文

posted @ 2012-09-10 16:17 [S*I]SImMon_WCG______* 阅读(427) 评论(0) 推荐(0) 编辑

2012年9月9日

URAL分来(转)

摘要: 1000 A+B Problem 10% 直接加1002 Phone Numbers 50% 动态规划或最短路1003 Parity 70% 区间减法1004 Sightseeing trip 60% 最短路1005 Stone Pile 30% 动态规划或搜索1006 Square Frames 35% 模拟1007 Code Words 30% 模拟1008 Image encoding 30% 广度优先搜索1009 K-Based Numbers 20% 递推或枚举(数据规模小) 1010 Discrete Function 40% 贪心1011 Conductors 25% 搜索101 阅读全文

posted @ 2012-09-09 19:17 [S*I]SImMon_WCG______* 阅读(218) 评论(0) 推荐(0) 编辑

ZOJ分类(转)

摘要: ZOJ自己做了的(简单题,可直接点击题号到该题网页):1001 1002 1037 1045 1048 1049 1057 1067 1073 1078 1086 1089 1090 1095 1109 1110 1115 1151 1195 1240 1241 1251 1295 1414 1631 1715 1730 1755 1760 1763 1796 1884 1915 2001 2022 2060 2095 2099 2104 2108 2172 2176 2186 2201 2321 2345 2388 2405 2417 2421 2433 2476 2478 2480 248 阅读全文

posted @ 2012-09-09 19:16 [S*I]SImMon_WCG______* 阅读(1756) 评论(0) 推荐(1) 编辑

POJ分类(转)

摘要: 偶做完的:1000100110021003100410051006100710081011101410171028103910411046104710501061106410661067106810801088108910941101110211061113111811251126112711291140114111441145115111591163118211901195120412071226122812361237124712511258126512691276130813251328133813631364137613801383138413851386141014221426145 阅读全文

posted @ 2012-09-09 19:15 [S*I]SImMon_WCG______* 阅读(402) 评论(0) 推荐(0) 编辑

HOJ分类(转)

摘要: ******************************************************************************* 简单题(包括枚举,二分查找,(复杂)模拟,基础数据结构(栈、队列),杂题等 * ******************************************************************************1001 A+B1002 A+B+C1009 Fat Cat1010 The Angle1011 Unix ls1012 Decoding Task1019 Grandpa's Other Est 阅读全文

posted @ 2012-09-09 19:12 [S*I]SImMon_WCG______* 阅读(2457) 评论(0) 推荐(0) 编辑

2012年9月5日

HDU 1385 Minimum Transport Cost(Floyd + 打印路径)

摘要: 题目:http://acm.hdu.edu.cn/showproblem.php?pid=1385题意:先给你一张你n * n的图,代表城市间的距离,然后,给出n个tax的费用,然后很多询问,问你a到b的最少费用。。。。并且打印路径(字典序)。。。注意tax的费用起点和终点不算。。。。。开始是算吧起点和终点的费用都算上,最后减掉,这样是不能得到最少费用的。。。。后来想到在三重for里+上tax的费用。。。。就觉得这题完全是为了深刻理解Floyd而出的然后到打印路径,用path[i][j]表示i到j这条最短路中i的直接后驱然后不断的记录直接后驱。。。。最后就可以把路径都纪录了还有一点是如果起点 阅读全文

posted @ 2012-09-05 15:26 [S*I]SImMon_WCG______* 阅读(794) 评论(0) 推荐(0) 编辑

2012年9月3日

最短路SPFA

摘要: #include <iostream>#include <queue>using namespace std ;const int M = 1000 + 10 ;const int INF = 0x3ffffff;int dis[M]; //dis[i],点i到源点的最短路径int map[M][M]; int used[M]; //used[i],标记点i是否在队列中int SPFA(int start , int end ,int n) //起点,终点,总点数编号为[1,n]{ dis[start] = 0; //初始化d... 阅读全文

posted @ 2012-09-03 19:06 [S*I]SImMon_WCG______* 阅读(180) 评论(0) 推荐(0) 编辑

背包问题的初始化问题

摘要: 对于背包问题,有两种初始化问题。。。。一种是恰好装满,另一种是实际上可以不装满,其中还分概率(乘)与非概率(加)其实不管是哪种,记住一点,我们初始化是未放物品时符合条件的最优解。。。。。例如:1~恰好装满:f[0] = 0没放物品时价值是0,,,f[1....]不符合条件(因为要恰好装满),这些都是没装满的那这些应该赋什么值呢?应该赋最不优的解来保证一定更新它。。。。。求最大:(求最大的时候最不优就是最小)概率(乘)f[1....] = 0(乘中0最小) 非概率(加)f[1...] = -INF(加中-INF最小)求最小::(求最小的时候最不优就是最大)概率(乘)f[1....] = 1(乘中 阅读全文

posted @ 2012-09-03 17:05 [S*I]SImMon_WCG______* 阅读(456) 评论(0) 推荐(0) 编辑

HDU 4006 The kth great number(优先队列)

摘要: 题目:http://acm.hdu.edu.cn/showproblem.php?pid=4006题意:输入n,k,然后共有n次操作,保证先写出k个数,然后每次2种操作, I a 表示写出数字a Q表示输出第k大的数。。。。因为已经保证了先输入k个数,所以用优先队列,小优先,所以队头就是第k大的数,然后操作的时候,如果写出来的数小于等于队头就不管,因为前k大的数才有用,如果比队头大就队头出队。。该数进队代码:#include <iostream>#include <queue>using namespace std;int main(){ int n, k; while 阅读全文

posted @ 2012-09-03 09:52 [S*I]SImMon_WCG______* 阅读(339) 评论(2) 推荐(0) 编辑

HDU 2473 Junk-Mail Filter(并查集)

摘要: 题目:http://acm.hdu.edu.cn/showproblem.php?pid=2473题意:有0到n-1个数,M a b 表示a和b合并,S a表示删除a,删除以后a变成独立的集合。。。最后问共有几个集合。。。。开始做的时候是真的按步就搬地把a删除,然后把他儿子和他老爸都合起来。。。结果超时。。。。还有吧本来是int 型的a,b写成了 char型导致一直溢出,找了很久才找到。。。这里用了代理index[i]表示i的代理是index[i],然后以后操作的时候每个人干活只找代理干,然后删除的时候直接换个新代理(这个代理不能和别人的代理冲突,开始的时候是独立的集合),然后他原来的代理事实 阅读全文

posted @ 2012-09-03 09:21 [S*I]SImMon_WCG______* 阅读(234) 评论(0) 推荐(0) 编辑

2012年9月2日

HDU 1518 Square(Dfs)

摘要: 题目:http://acm.hdu.edu.cn/showproblem.php?pid=1518题意:给你n条边,问你用光这些边能不能组成正方形想到用深搜,但是怎么写出来挺难的。。。。。这里主要是超时问题:其实对于某条边,对于那些用过的和不符合条件的for那里可以不扫。。。。。所以Dfs要增加一个参数index表示从那里开始扫。。。但是换另外一条边的时候index要改回0,因为那些未用的,对上一条边来说不符合条件的,可能符合这条边的条件。。。。代码:#include <iostream>using namespace std;const int M = 10000;int sav 阅读全文

posted @ 2012-09-02 22:49 [S*I]SImMon_WCG______* 阅读(754) 评论(0) 推荐(0) 编辑

2012年8月31日

种类并查集

摘要: #include <iostream>using namespace std;const int M = 50000 + 10;struct Node{ int father; int kind;}node[M];void Init(int n){ for (int i = 1; i <= n; i++) { node[i].father = i; node[i].kind = 0; }}//int Find(int x){ if (x == node[x].father) { return x; } ... 阅读全文

posted @ 2012-08-31 20:10 [S*I]SImMon_WCG______* 阅读(735) 评论(0) 推荐(0) 编辑

POJ 1182 食物链(种类并查集)

摘要: 题目:http://poj.org/problem?id=1182#include <iostream>using namespace std;const int M = 50000 + 10;struct Node{ int father; int kind;}node[M];void Init(int n){ for (int i = 1; i <= n; i++) { node[i].father = i; node[i].kind = 0; }}//int Find(int x){ if (x == node[x].fat... 阅读全文

posted @ 2012-08-31 20:09 [S*I]SImMon_WCG______* 阅读(194) 评论(0) 推荐(0) 编辑

2012年8月30日

HDU 1501 Zipper(Dfs记忆化搜索)

摘要: 题目:http://acm.hdu.edu.cn/showproblem.php?pid=1501题意:前两个字符串能和能合成第三个字符串,字符串内相对顺序不变开始用Dfs()以为用了变量标记如果失败不停的return。。。。然后超时,然后想不通为什么要用vis[i][j]来标记有没访问过该状态,我当时想Dfs(i,j,k)里面都一直在递增啊,而且如果失败了回溯的时候就return了,怎么还会遇到该状态呢。。。。。。原来如果在递归的第一个Dfs()匹配成功,回溯后(i,j,k就隐式地减少了),而且遇到flag也不会return(因为flag是失败才return的),然后进了第二个Dfs()。。 阅读全文

posted @ 2012-08-30 21:17 [S*I]SImMon_WCG______* 阅读(301) 评论(0) 推荐(0) 编辑

2012年8月28日

素数筛选法

摘要: //0是素数prime[0] = prime[1] = 1;for (int i = 2; i <= MAX; i++){if (prime[i] == 0){for (int j = i + i; j <= MAX; j += i){prime[j] = 1;}}}下面可以j = i * i开始,但是前提是i从2开始,只有这样才能保证i的k(k < i)倍都标记过,因为当第一层循环的i = k的时候j = k * i的时候标记了 阅读全文

posted @ 2012-08-28 20:35 [S*I]SImMon_WCG______* 阅读(173) 评论(0) 推荐(0) 编辑

%与mod的区别

摘要: %与mod的区别:%出来的数有正有负,符号取决于左操作数。。。而mod只能是正(因为a = b * q + r (q > 0 and 0 <= r < q), then we have amod q = r 中r要大于等于0小于q)。。。。。所以要用%来计算mod的话就要用这样的公式:a mod b = (a % b + b) % b括号里的目的是把左操作数转成正数 阅读全文

posted @ 2012-08-28 16:42 [S*I]SImMon_WCG______* 阅读(3824) 评论(1) 推荐(2) 编辑

HDU 1104 Remainder(BFS打印路径+数论)(%与mod的区别)

摘要: 题目:http://acm.hdu.edu.cn/showproblem.php?pid=1104题意:(注意题目中的%是指mod)开始给了你n, k, m。。。。每次由+m, -m, *m, modm得到新的N,继续对N这样的操作,直到(n+1) mod k== N mod k时结束。。。并且打印路径%与mod的区别:%出来的数有正有负,符号取决于左操作数。。。而mod只能是正(因为a = b * q + r (q > 0 and 0 <= r < q), then we have amod q = r 中r要大于等于0小于q)。。。。。所以要用%来计算mod的话就要用这样 阅读全文

posted @ 2012-08-28 15:16 [S*I]SImMon_WCG______* 阅读(1500) 评论(1) 推荐(0) 编辑

2012年8月27日

HDU 1728 逃离迷宫(拐弯问题,对BFS最优解的新理解)

摘要: 题目:http://acm.hdu.edu.cn/showproblem.php?pid=1728题意:'.'可以走,'*'障碍,给你起点终点,问从起点最多拐k次弯,问能不能到终点。。开始做的时候,以为,用优先队列拐弯数小的优先,然后每次用队头遍历旁边的4个点。。。。结果WA了。。。而且还用东西来处理是否拐弯。。。用BFS来处理最优解问题要用队头来遍历完所有最优解并且进队,再重复。。。而上面WA的原因是,我只把相邻的4个点进了队,而在同行,同列还有最优解没进队,导致那些之前没进队的,进队的时候就已经不是最优解了。。。。这题要用队头遍历4个方向(而不是4个点)。。 阅读全文

posted @ 2012-08-27 21:15 [S*I]SImMon_WCG______* 阅读(2515) 评论(0) 推荐(0) 编辑

HDU 1142 A Walk Through the Forest(Dijkstra+Dfs(第一次用记忆化搜索))

摘要: 题目:http://acm.hdu.edu.cn/showproblem.php?pid=1142题意:这题的题意很重要,起点是1,终点是2,现在主人公已经知道,所有边的长度,然后他开始选择走不走某条边了。。对于图中的每条边(A,B),他选这条边的前提是:存在一条B到终点的路径,比所有从A道终点的路径都短(即只要B到2的最短路径比A到2的最短路径短就存在了),选择完所有可以走的边后,问一共有多少条从1到2的路径因为对于每条边(A,B)都要知道A到2的最短路和B到2的最短路,对于每个点都用Dijkstra的话O(n^3)超时,注意到,每次都是和2的最短路,所以灵活点,以2为起点用以次Dijkst 阅读全文

posted @ 2012-08-27 14:45 [S*I]SImMon_WCG______* 阅读(248) 评论(0) 推荐(0) 编辑

2012年8月26日

灌水问题——经典智力题推而广之一

摘要: 倒水问题的经典形式是这样的: “假设有一个池塘,里面有无穷多的水。现有2个空水壶,容积分别为5升和6升。问题是如何只用这2个水壶从池塘里取得3升的水。” 当然题外是有一些合理的限制的,比如从池塘里灌水的时候,不管壶里是不是已经有水了,壶一定要灌满,不能和另一个壶里的水位比照一下“毛估估”(我们可以假设壶是不透明的,而且形状也不同);同样的,如果要把水从壶里倒进池塘里,一定要都倒光;如果要把水从一个壶里倒进另一个壶里,也要都倒光,除非在倒的过程中另一个壶已经满了;倒水的时候水没有损失(蒸发溢出什么的)等等等等。 事实上,要解决上面这题,你只要用两个壶中的其中一个从池塘里灌水,不断地倒到另一... 阅读全文

posted @ 2012-08-26 21:01 [S*I]SImMon_WCG______* 阅读(473) 评论(0) 推荐(0) 编辑

HDU 3018 Ant Trip(一笔画问题)

摘要: 题目:http://acm.hdu.edu.cn/showproblem.php?pid=3018题意:每条边过且只过一次,问至少要画几笔才能全部边都经过。。孤立的点忽视。分析:首先,你用笔来画的话,只可能有2种,一:每回路,a——>b 二:形成回路,a——>...——>a对于图中的每一块,度数数为奇数的点必须是由第一种画出来的,所以奇数/2就是画的笔数由两种结合而成的图,也只是奇数/2特别的,如果图只有第二种的话,即该块中不存在奇数点,则只要画一笔对于整副图(每一块块组合而成),等于:第一块奇数点/2+第二块奇数点/2+.......,最后得,图的总奇数点/2接着还要计算有 阅读全文

posted @ 2012-08-26 14:31 [S*I]SImMon_WCG______* 阅读(1021) 评论(0) 推荐(0) 编辑

2012年8月23日

有向无向欧拉回路通路的判断

摘要: 首先所有的前提是连通,而连通可以用并查集判断。。所有点Make_Set(i),每相邻的2个点都Union(a, b)只要全都是同一个老大就连通。(注意:有向图连通是指:去掉方向后得到的无向图连图,则该有向图连通)无向欧拉通路:有0个或2个奇数度的点无向欧拉回路(即欧拉图):不存在奇数度的点有向欧拉通路:所有点:入度 == 出度 或 有且只有两个点的 abs(入度 - 出度) == 1 其余点 入度 == 出度有向欧拉回路:所有点:入度 == 出度 阅读全文

posted @ 2012-08-23 12:58 [S*I]SImMon_WCG______* 阅读(213) 评论(0) 推荐(0) 编辑

2012年8月14日

HDU 1181 变形课 (用传递闭包做)

摘要: 题目:http://acm.hdu.edu.cn/showproblem.php?pid=1181题意:转化成有向图,是否存在从b到m的通路传递闭包代码:#include <iostream>#include <cstring>using namespace std;const int M = 50;int g[M][M];int main(){ char str[100]; int n = 26; while (~scanf("%s", str)) { if (str[0] != '0') { ... 阅读全文

posted @ 2012-08-14 22:55 [S*I]SImMon_WCG______* 阅读(218) 评论(0) 推荐(0) 编辑

HDU 1704 Rank (传递闭包)

摘要: 题目:http://acm.hdu.edu.cn/showproblem.php?pid=1704题意:最多能找出多少条不通的路。。。。。题目没有说明不会有回路,因为如果有回路的话,回路里的对手都不能分出胜负。。。。而杭电的数据说明了不会有回路的。传递闭包:用来求图中,任意两点是否可以通,思想类似Floyed,都是3重循环,Floyed:是否存在一个中间点,使得从起点——》中间点——》终点跟短,传递闭包:是否存在一个中间点,起点到终点本来不通的,但从起点——》中间点——》终点这条路走的话就通了(书上本来是g[i][j] = g[i][j] || (g[i][k] && g[k] 阅读全文

posted @ 2012-08-14 22:25 [S*I]SImMon_WCG______* 阅读(760) 评论(0) 推荐(1) 编辑

HDU 1217 Arbitrage (初学Floyed)

摘要: 题目:http://acm.hdu.edu.cn/showproblem.php?pid=1217题意:转化成图,然后求是否存在某回路,其权值的积大于1Floyed是求任意两点间的最短路径的,用了动态规划,思想和松弛一样,其中有个k,是指最短路径的中间点都在集合1....k里,然后k从小到大推,当k最大的时候就得到结果。。。。松弛思想在g[i][k]*g[k][j]和g[i][j]中选择。。。而这题则是求最大,且是乘积。。。所以要改下。。。。但是转化成图哪里就不用多说了,但是我才发现map A<string, int> 中的string 可以用char str[...]来代替,即可 阅读全文

posted @ 2012-08-14 20:53 [S*I]SImMon_WCG______* 阅读(341) 评论(0) 推荐(0) 编辑

2012年7月16日

HDU 1285 确定比赛名次

摘要: http://acm.hdu.edu.cn/showproblem.php?pid=1285好久好久没编程了。。。。几个月了。。。。感觉很费劲!基本思想很容易。。。。这里对输入的处理比较关键。。。。因为对于其中2位对手来说。。只有三种情况(通过多次比赛后最终的结果)。。。还有n==1的时候。。。下面的break漏了会WA。。。#include <iostream>using namespace std;int g[505][505];int ingree[505];int main(){ int n, m; while(~scanf("%d%d", &n 阅读全文

posted @ 2012-07-16 13:59 [S*I]SImMon_WCG______* 阅读(698) 评论(0) 推荐(0) 编辑

2012年6月4日

写给还在怀念骑士(3.0 2.0 Online 私服)的刀狼

摘要: 不管你玩狼人有多牛,都认真看下吧,我说漏了哪些希望补充,让那些刚学狼人的学习学习(谁敢说自己不是从菜鸟过来的?) 说下为什么写这篇文章吧。因为玩得无聊了,是时候休息下了!而且现在私服已经没什么意思了,一个比较强的团的人数越来越多,结果晚上就几个队伍抱团杀,甚至一个族都抱团,搞得一点乐趣都没有了。。。 阅读全文

posted @ 2012-06-04 13:28 [S*I]SImMon_WCG______* 阅读(17767) 评论(6) 推荐(0) 编辑

2012年5月26日

HUD 1312 Red and Black(用深搜写的)

摘要: #include <iostream>using namespace std;char g[25][25];int dir[4][2] = {0, 1, 0, -1, 1, 0, -1, 0};int sum;int n, m;void Dfs(int x, int y){ int a, b; for (int i = 0; i < 4; i++) { a = x + dir[i][0]; b = y + dir[i][1]; if (a >= 1 && a <= n && b >= 1 && b <= 阅读全文

posted @ 2012-05-26 10:57 [S*I]SImMon_WCG______* 阅读(270) 评论(0) 推荐(0) 编辑

导航