- 博客(68)
- 收藏
- 关注
转载 HDU 4714 Tree2Cycle
简单的DFS 有些大神有树形DP做的,效率要高很多。 若degree[i] > 2 ,则断开 i 与其父节点之间的边 和 degree[i] - 3 个子节点之间的边,其父节点 度 减一。 此时总消费增加 sum += (degree[i] - 2)*2; 1 #include <iostream> 2 #include &...
2013-09-13 19:02:00 99
转载 HDU 1009 The Shortest Path in Nya Graph
迪杰斯特拉 + 优先队列 1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> 4 #include <algorithm> 5 #include <cmath> 6 #include <queu...
2013-09-12 20:26:00 96
转载 POJ 1942 Paths on a Grid 组合数的优化
模板题。 数据范围较大时: 1 double cal(double x, double y) 2 { 3 double i, j, sum = 1; 4 if(y > (x/2)) 5 y = x - y; 6 7 for(i = x, j = 1; i > x-y; i-...
2013-09-10 21:06:00 103
转载 POJ 1850 Code
早晨有点迷糊,读错题WA了一次,然后又CE了一次..... 给出一个字符串 均为小写字母 且 长度 <= 10 若给出的字符串可编码则输出对应数字,否则输出0. 可编码的要求为:字母的字典许从左到右一次增大。 设len为字符串长度,i 为对应字母,f[][] 为 长度为len 首字母为 i 是 的情况 ,则有: 当 len = 1 时 f[...
2013-09-08 09:24:00 54
转载 POJ 3252 Round Numbers
简单的组合数学。 题意:给出两个数,找出这两个数之间的Round Numbers。范围包括这两个数。 所谓的Round Numbers就是将给出的十进制数转化成二进制之后,0的个数 >= 1的个数。 思路: 设给出的数为m,其二进制长度为len。 先找出长度小于 len 的情况,这一种情况比较简单。 另一种就是寻找和 m 的长度相同且 <...
2013-09-07 19:54:00 42
转载 UVa11401 Triangle Counting
设三角形三边为a,b,c, c 为最大边。 当c == n时,有 a的取值范围为[2,n-1]. b的取值范围为[n-a+1,n-1]; 共有 sum = n*n - 3*n +2 种情况。但是其中又不符合题意的情况,即 a == b 且 每种符合题意的三角形均被计算了两次。 a == b 的情况 只有当 a 的取值大于 n/2 时才会存在,即总共有 s...
2013-09-05 09:40:00 52
转载 HDU 1722 Cake
这道题有一个简单的思路 就是 a+b-gcd(a,b); 另一种就是就是递归求解。 (1) 当Max == Min时,显然蛋糕要均匀的要分成Max(Min)份。 (2)当 Max != Min 时,设m = Max/gcd(Max,Min)*Min; 此时应该将蛋糕的 (Min*Min)/m 部分分成 Min份,即每份Min/m = Min*M...
2013-09-03 19:58:00 89
转载 poj 2773 Happy 2006
简单的欧几里得函数应用。 f(x,y) = f(y,x%y); f(x,y) = f(y*t+x,y) t为非负整数; 其时这道题还有好多优化,Discuss里面好多大神都弄到了0ms。。。Orz 我只水过去了。。。。 G++ 2400++,用C++ TLE.... 特别的注意 1 的情况 RE了好多次 1 #inclu...
2013-08-31 09:35:00 126
转载 HDU 1396 Counting Triangles
数学基础第一弹! 简单的递归题,没有什么可说的。只是要细心细心再细心,不要心浮气躁,急于求成。 1 #include <iostream> 2 #include <cstdio> 3 4 using namespace std; 5 6 long long int CountTriangle[1000010];...
2013-08-30 20:56:00 82
转载 POJ 1159 Palindrome
寻找串与其逆串的最长公共子序列。 因为此子序列必是回文串,剩下的字符就是需要插入的。 1 #include <iostream> 2 #include <cstdio> 3 #include <algorithm> 4 #include <cstring> 5 6 #define Max(...
2013-08-27 15:48:00 98
转载 POJ 3009 Curling 2.0
简单的DFS。一开始把DFS里面的一个变量弄成 全局变量了,调试了半个小时才发现...... 1 #include <iostream> 2 #include <algorithm> 3 #include <cstdio> 4 #include <cstdlib> 5 #include <...
2013-08-23 16:05:00 57
转载 POJ 2531 Network Saboteur
枚举了所有状态 1800+ms过了...... 1 #include <iostream> 2 #include <algorithm> 3 #include <cstdio> 4 #include <cstdlib> 5 #include <cstring> 6 7 using...
2013-08-23 10:09:00 70
转载 POJ 1416 Shredding Company
给出一个Max 和一串数字。将这一串数字分割成若干个数,其和为sum。求最接近但不超过Max的sum。。。 将这个sum及这若干个数输出来。 DFS + 打印路径 1 #include <iostream> 2 #include <algorithm> 3 #include <cstdlib> 4...
2013-08-22 19:44:00 105
转载 POJ 1129 Channel Allocation
在一个区域内,有许多电台,如果覆盖有交集的话可能会互相干扰,唯一的解决方案就是使用不同的频道。 但是频道这种资源非常珍贵,所以应使用尽量少的频道。 感觉是模拟题,不知道为啥放在了搜索里面。Discuss里面有大牛说用四色定理,作为一名离散只考了70+的选手也没有去看......也可能是后台比较水,我的这种方法竟然也是0ms。 解题思路都写在了注释里。 1 #...
2013-08-22 10:52:00 83
转载 POJ 2676 sudoku
数独问题。给定其中的几个数,找出其他符合规则的数。保证所给数据合法。典型的DFS。 又是1A真爽。 首先用三个数组标记每列每行每个九宫格出现过的数字。然后DFS寻找可能的状态。跑了400+ms。 1 #include <iostream> 2 #include <algorithm> 3 #include <cstdlib&g...
2013-08-22 09:27:00 90
转载 POJ 3414 Pots
题意:有两个杯子 容量分别为 A,B;每次可以将其中一杯杯子倒满或倒空,或者将一个杯子中的水倒入另外一个杯子(必须将其中一个杯子倒空或倒满)。 这样每种状态就有可能衍生出六种新的状态。 典型的BFS。 1 #include <iostream> 2 #include <cstdio> 3 #include <...
2013-08-21 16:40:00 101
转载 POJ 3087 Shuffle'm Up
赤裸裸的模拟题。。 给出字符串 s1,s2,s12;判断s1,s2能够通过题目中所给的规则到达 s12。每次只会产生一种新的状态,还BFS个毛线-- s1的首位新生成的字符串的首,s2的尾为新生成字符串的尾。中间的字符依次交叉排列。 再将新生成的字符串的前一半给s1,后一半给s2。 重复上述两步 直到到达 s12 或者 新生成的字符串已经出现过。 前者输...
2013-08-21 16:35:00 70
转载 POJ 3368 Frequent values
简单的RMQ 约等于模板题.....第一次敲 给自己留个参考 1 #include <iostream> 2 #include <algorithm> 3 #include <cstdio> 4 #include <cstring> 5 #include <cmath> 6 7...
2013-08-20 21:21:00 45
转载 POJ 3126 Prime Path
简单的BFS + 素数筛。。。。。手残把素数筛敲错了 调试了大半年......不过终于迎来了久违的 1A 1 #include <iostream> 2 #include <cstdio> 3 #include <cstdlib> 4 #include <cstring> 5 #include...
2013-08-20 16:06:00 36
转载 POJ 2251 Dungeon Master
毫无意义的三维BFS..... 从 S 出发 每次可以选择六个方向 求到 E 的最小移动次数 。 1 #include <iostream> 2 #include <cstdio> 3 #include <cstdlib> 4 #include <cstring> 5 #include &...
2013-08-20 11:12:00 39
转载 POJ 1321 棋盘问题
百年难得一遇的会做的中文题...... 每一次DFS都有两种状态 放或者不放 简单的DFS模板题。 1 #include <iostream> 2 #include <cstdio> 3 #include <cstdlib> 4 #include <cstring> 5 #include <c...
2013-08-20 10:35:00 60
转载 POJ 2418 Hardwood Species
字典树 或者 map...... map 8000+ ms 1 #include <iostream> 2 #include <algorithm> 3 #include <cstdio> 4 #include <cstring> 5 #include <cmath> 6 #...
2013-08-19 21:06:00 121
转载 POJ 2488 A Knight's Journey
骑士的旅行。 骑士可以每次走一个‘日’字,就像中国象棋里面的马。 给出一个 p*q 的棋盘,每个格子只能走一次,是否存在一种方法可以遍历整个棋盘。如果有多种方法输出字典序最小的。 关于此题中的字典序: 骑士每一次都会有八个方向可以选择,每一次都选择字典序小的来DFS。这样最终结果就是字典序最小的。 int jp[] = {-1, 1,-2, 2,-2, ...
2013-08-19 15:57:00 66
转载 POJ 1442 Black Box
优先队列水过~~~ 1 #include <iostream> 2 #include <algorithm> 3 #include <cstdio> 4 #include <cstring> 5 #include <cmath> 6 #include <cstdlib>...
2013-08-19 10:44:00 43
转载 POJ 2002 Squares
给出N个点,判断可以组成多少个正方形。最后输出正方形的个数。 思路:枚举每两个点,计算出另外的两个点,若另外两点存在则正方形存在。 这样得到的结果是最终结果的二倍,因为每一个正方形均累加了两次。 另外两点的计算方法: 设AC和BD的交点O的坐标为(X0,Y0), 则有 X0 = (X1+X3)/2 , Y 0 = (Y1+Y3)/2; 从图上可以看...
2013-08-15 15:36:00 95
转载 SDUT 1480 数据结构试验: 哈希表
取余,邻接表。 1 #include <iostream> 2 #include <algorithm> 3 #include <cstdio> 4 #include <cstring> 5 #include <cstdlib> 6 #include <cmath> 7...
2013-08-14 20:05:00 96
转载 POJ 2513 Colored Sticks
给你N个棍子,每个棍子的两端涂有颜色。两个涂有一种颜色的端点可连在一起。 问这N根棍子是否能连成一条直线。 可以把每个棍子看成一条边,端点为两个节点。则问题转化成所给的这些端点是否连通,若连通是否存在一笔画的问题,即是否存在欧拉回路。 并查集+路径压缩 判断图是否连通。 另在图连通的情况下若不存在度数为奇数的点或有且仅有两个度数为奇数的点,则存在欧拉回路。...
2013-08-13 16:49:00 84
转载 POJ 1611 The Suspects
简单的并查集的应用,统计和 0 联通的点的个数,约等于模板题。。。。。。手残没有判断两个点的根节点是否相等。。。。。贡献了五个WA...... 1 #include <iostream> 2 #include <cstdlib> 3 #include <cstdio> 4 5 using namespace std;...
2013-08-12 15:30:00 82
转载 POJ 2299 Ultra-QuickSort
特殊的快速排序——归并排序。 给定N个数,求排成升序序列所需要的最小交换次数。每次只能交换相邻的两个数。 作为一名《线性代数》只考了60+的选手竟然一眼就看出要求逆序数有木有,可是我不会求啊有木有,搞来搞去还是要用归并排序啊有木有。 T^T 归并排序的主要思路: 归并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and ...
2013-08-12 10:51:00 81
转载 POJ3080 Blue Jeans
蓝色牛仔裤? 中规中矩的字符串匹配 唯一的陷阱就是同等长度的子串输出字典序最小的。。。。。 最烂的代码 ……没有之一…… 1 #include <cmath> 2 #include <cstring> 3 #include <cstdlib> 4 #include <cstdio>...
2013-08-10 22:26:00 60
转载 POJ 3687 Labeling Balls
题意:有N个球 给出一些轻重关系 排除拓扑序列 若拓扑排序不唯一 则尽量让序号小的轻。输出为该球在拓扑排序中的位置。 解题思路:让入度为零的点进栈,若存在多个入度为零的点,则选取编号最大的。 不会的时候难了一13,会了就感觉水了一13。。。。 1 #include <iostream> 2 #include <cstdi...
2013-08-09 16:12:00 95
转载 POJ 3041 Asteroids
【基本概念】:二分图:二分图又称作二部图,是图论中的一种特殊模型。 设G=(V,E)是一个无向图,如果顶点V可分割为两个互不相交的子集(A,B),并且图中的每条边(i,j)所关联的两个顶点i和j分别属于这两个不同的顶点集(i in A,j in B),则称图G为一个二分图。无向图G为二分图的充分必要条件是,G至少有两个顶点,且其所有回路的长度均为偶数。最大匹配:给定一...
2013-08-09 10:01:00 61
转载 POJ 3026 Borg Maze 普利姆 + BFS
题意:一群人在地图上走啊走 每走到一个 ‘S’ 或者 ‘A’ 就可以分开一次 最多分成四个小队(因为只有四个方向可以走),直到找到所有的‘A’,输出能找到所有‘A’的最小的步数。 注意,新的小队的移动次数从0开始计算。 显然,最小生成树算法。每一组相邻的'A'都可以看成是一个整体,这些独立的整体组成了一个图,在这个图上选取一个最小生成树,这颗最小生成树的边的权值之和即...
2013-08-07 09:12:00 77
转载 POJ1789 Truck History 最小生成树 + 路径压缩
首先要强调一点 这不是一道ACM题,这是他妹的一道英语阅读理解。 题意:输入N 代表有N种汽车。每两种汽车之间有一条边,边的权值的定义为 两串字符串之间有几个不同的字母。。。稠密图。。。。普利姆 或者 克鲁斯卡尔 + 路径压缩 我认为后者能通吃所以很无耻的不会第一种。。。。。 1 #include <iostream> 2 #incl...
2013-08-06 16:36:00 108
转载 POJ2253 Frogger
求最长路中的最短路……略显绕嘴 最长路定义为该条路上青蛙调的最远的那一步。应该算是水题,感觉思路比较新颖,主要是权值的定义。 两种算法 很显然 后一种从效率上明显优于前一种 Floyd 1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> 4...
2013-08-05 21:27:00 85
转载 POJ 1062 昂贵的聘礼
SPFA 第二次用到 超级源点 这个概念,依稀记得第一次用还是小时候...... 逆向建图,添加超级源的时候是顺向建立。 0号点为超级源。 1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> 4 #i...
2013-08-05 14:51:00 94
转载 BFS + 状态压缩 POJ 2965 The Pilots Brothers' refrigerator
#include <iostream>#include <algorithm>#include <cstdio>#include <cstring>#include <cstdlib>#include <cmath>using namespace std;char c;...
2013-07-29 21:28:00 69
转载 Poj 1753 Flip Game 状态压缩 + DFS
暴力枚举 1 #include <iostream> 2 #include <algorithm> 3 #include <cstdio> 4 #include <cstring> 5 #include <cstdlib> 6 #include <cmath> 7 8 us...
2013-07-29 20:19:00 96
转载 SDUT 2109 找女朋友
链接 :http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=2109 1 #include<stdio.h> 2 int a[100000],temp; 3 int main() 4 { 5 int sort(int i,...
2013-06-29 13:13:00 133
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人