- 博客(63)
- 资源 (1)
- 收藏
- 关注
原创 HDU-1213 并查集裸题
#include <cstdio>#include <cstring>#include <vector>#include <queue>#include <iostream>#include <cmath>#include <vector>#include <algorithm>#include <map>#include <set>using namespace std;ty
2017-09-03 08:25:29
286
原创 HDU-2203 kmp水一发
#include <cstdio>#include <cstring>#include <vector>#include <queue>#include <iostream>#include <cmath>#include <vector>#include <algorithm>#include <map>#include <set>using namespace std;ty
2017-09-01 23:45:39
284
原创 HDU-3068 最长回文串
用的Manacher法,基本上是参考博客链接 dp法内存不够,中心扩展法时间不够//Manacher法#include <cstdio>#include <cstring>#include <vector>#include <queue>#include <iostream>#include <cmath>#include <vector>#include <algorithm>
2017-09-01 22:21:26
355
原创 求直线ax+by+c=0 上有多少个整点(x,y)满足x∈[-100,100],y∈[-100,100]
#include <cstdio>#include <cstring>#include <vector>#include <queue>#include <iostream>#include <cmath>#include <vector>#include <algorithm>#include <map>#include <set>using namespace std;ty
2017-08-25 14:36:45
562
原创 八数码
//输入// 2 3 4 // 1 5 0 // 7 6 8// 1 2 3 // 4 5 6 // 7 8 0//输出// l// 2 3 4 // 1 0 5 // 7 6 8 // d// 2 3 4 // 1 6 5 // 7 0 8 // r// 2 3 4 // 1 6 5 // 7 8 0 // u// 2 3 4 // 1 6 0 // 7 8
2017-08-25 00:53:20
296
原创 UVA-140 最小带宽 以后再补吧
夭折的一题,应该用set来存储节点的 可参考代码链接#include <cstdio>#include <cstring>#include <vector>#include <queue>#include <iostream>#include <cmath>#include <vector>#include <algorithm>#include <map>#include <s
2017-08-24 21:56:27
242
原创 UVA-129 困难的串
每次在末尾添加前都先检查一下是否合法 输出格式搞得我真蛋疼#include <cstdio>#include <cstring>#include <vector>#include <queue>#include <iostream>#include <cmath>#include <vector>#include <algorithm>#include <map>usi
2017-08-24 18:20:18
282
原创 UVA-524 素数环 回溯
经典回溯题#include <cstdio>#include <cstring>#include <vector>#include <queue>#include <iostream>#include <cmath>#include <vector>#include <algorithm>#include <map>using namespace std;typedef long
2017-08-24 17:19:00
187
原创 暴力求解练习
long long还是绕不过去的一个坑#include <cstdio>#include <cstring>#include <vector>#include <queue>#include <iostream>#include <cmath>#include <vector>#include <algorithm>#include <map>using namespace std
2017-08-23 09:53:12
248
原创 状压dp练习
POJ-3254 主要参考题解链接#include <cstdio>#include <cstring>#include <vector>#include <queue>#include <iostream>#include <cmath>#include <vector>#include <algorithm>#include <map>using namespace std
2017-08-22 21:52:39
312
原创 HDU 2196 Computer(求树任意点的最远点)
dp[i][0]表示子树的最远路径,dp[i][1]表示子树的次远路径,dp[i][2]表示朝父节点的最远路径#include <cstdio>#include <cstring>#include <vector>#include <queue>#include <iostream>#include <cmath>#include <vector>#include <algorith
2017-08-22 16:54:46
199
转载 POJ-1985 树的最长路径
紫书上dp写法的代码链接 两次dfs的代码链接 我的垃圾代码,WA,本想要两次dfs解决,也不知道出什么错了,还是得好好长点姿势才行啊:#include <cstdio>#include <cstring>#include <vector>#include <queue>#include <iostream>#include <cmath>#include <vector>#inc
2017-08-22 12:22:29
489
原创 poj-1655 树的重心
因为建立的树实际上主要是记录点的无向图G,dfs(u,r)的r是用来防止遍历子节点时dfs到父节点,还用到了记忆化,并且是在一次dfs时求答案,效率有点低,AC用时300ms#include <cstdio>#include <cstring>#include <vector>#include <queue>#include <iostream>#include <cmath>#incl
2017-08-21 23:59:42
216
原创 01背包练习
HDU2546:饭卡 关键是先找出最大价格的物品,然后再dp求出保留5元后,可以花费最多的值,最后再减去最大价格#include <cstdio>#include <cstring>#include <vector>#include <queue>#include <iostream>#include <cmath>#include <vector>#include <algor
2017-08-21 08:33:35
213
转载 若干个(大量)数字中找前K大/小的元素--数值型
面试的时候大脑真的会停止转动啊,竟然会被这种题给难住 转载自:http://blog.youkuaiyun.com/gogokongyin/article/details/51210794方法一:根据快速排序划分的思想 :思路很简单,但是也有快排的缺点,对有序程度比较强的序列效率较低(1) 递归对所有数据分成[a,b)b(b,d]两个区间,(b,d]区间内的数都是大于[a,b)区间内的数 ; (2) 对
2017-08-20 20:18:21
306
转载 Python格式化输出%s和%d
转载自:http://blog.youkuaiyun.com/u013216667/article/details/51316971Python print格式化输出。1. 打印字符串print ("His name is %s"%("Aviad"))效果:2.打印整数print ("He is %d years old"%(25))效果
2017-08-17 18:25:12
3171
原创 (mark)UVA-1626 括号序列,转移方程很有意思
如果S形如(S’)或者[S’],转移到d(S’) 如果S至少有两个字符,则可以分成AB,转移到d(A)+d(B)紫书上的经典,先mark一下,以后再写
2017-08-17 11:06:37
247
原创 UVA-10003 切木棍,区间dp
dp[i][j]表示对 区间为(i,j)的棍子 的处理,注意对两端的处理#include <cstdio>#include <cstring>#include <vector>#include <queue>#include <iostream>#include <cmath>#include <vector>#include <algorithm>using namespace s
2017-08-17 10:11:36
248
原创 HRBUST-1600 最优矩阵链乘
就是区间dp,c++引用真的是优雅#include <cstdio>#include <cstring>#include <vector>#include <queue>#include <iostream>#include <cmath>#include <vector>#include <algorithm>using namespace std;#define DEBUGc
2017-08-17 01:53:50
390
原创 hdu-1159 裸LCS
把dp边界值的初始化放到二重循环里,代码看上去真是优雅呢!#include <cstdio>#include <cstring>#include <vector>#include <queue>#include <iostream>#include <cmath>#include <vector>#include <algorithm>using namespace std;#de
2017-08-16 23:52:58
264
原创 POJ-2533 裸LIS
紫书上的模板还真是好套呢,我的代码算是O(n3)O(n^3)的复杂度吧#include <cstdio>#include <cstring>#include <vector>#include <queue>#include <iostream>#include <cmath>#include <vector>#include <algorithm>using namespace st
2017-08-16 23:17:16
183
原创 UVa12563 -Jin Ge Jin Qu hao(DP) 01背包
01背包,t的数量级其实被限制在了t<=180*n+678的范围了,这题跟普通01背包的区别是,要求背包正好被填满并求相同歌曲数目下时间最长,不过如果真的模拟背包填满的状况的话,会TLE,我也因此被卡了很久,实际上只需要用另一个背包记录时间的值就行了。ac代码#include <cstdio>#include <cstring>#include <vector>#include <queue>
2017-08-16 09:22:09
216
原创 uva116单向TSP 多段图dp
补充一下知识:ACM中无穷大的设置#include <cstdio>#include <cstring>#include <vector>#include <queue>#include <iostream>#include <cmath>#include <vector>#include <algorithm>using namespace std;#define DEBUGc
2017-08-15 02:37:00
216
原创 LeetCode 312. Burst Balloons(戳气球)
区间dp,i表示区间长度,j表示区间起始,k遍历区间内的任意一点 二位数组初始化为0卡了很久,对c的函数都不熟悉了,memset只能对一维指针使用,里面参数也要注意class Solution {public: int maxCoins(vector<int>& nums) { int* dpnums = new int[nums.size()+2]; dpn
2017-08-15 01:38:08
697
原创 uva-1347经典dp,边界设置很重要
两个人A、B同时从最左边的点出发,一起严格向最右点走,且经过所有点一次dp(i,j)表示max(i,j)之前的所有点都走过,在这个状态下,到终点状态还要走多少距离d(i,j)==d(j,i),所以规定i>j(除了起点和终点的情况)每一次状态转移,都是使max(i,j)增加1格边界值设置d[t-1][i]=dist(t-1,t)+dist(i,t);状态转移d[i][j]=min(dp(i+
2017-08-12 08:53:53
315
原创 uva-437 矩阵嵌套dp
旧题新做,以前都是照着背包九讲上的模板来的,现在照着紫书上的有向无环图DAG来,把每一个节点当成一个点,可以嵌套表明两个点连通,d(i)表明在节点i结束的最长路长度。不过解题重点还是把一个长方体看成三个高度不同的长方体。#include <cstdio>#include <cstring>#include <vector>#include <queue>#include <iostream>
2017-08-09 16:49:41
302
原创 uva-536,从先序中序得出后序
build右序列的时候粗心,根节点p传错参数了,改了很久才发现#include <cstdio>#include <cstring>#include <vector>#include <queue>#include <iostream>using namespace std;#define DEBUGconst int maxn=26+5,maxv=26;char pre_s[max
2017-08-08 11:14:45
153
原创 uva-673 平衡的括号,栈模拟
栈下溢或者最后不为空,则输出No#include <cstdio>#include <cstring>#include <vector>#include <queue>#include <iostream>using namespace std;#define DEBUGconst int maxn=128+5,maxv=26;int t;char s[maxn];char q[
2017-08-08 10:07:11
247
原创 uva-1600 巡逻机器人
bfs判断visited最好还是在入栈之前,这道题的就算visited==true,但如果走过的’1‘数量比较少的话,还是可以继续入栈的#include <cstdio>#include <cstring>#include <vector>#include <queue>#include <iostream>using namespace std;#define DEBUGconst
2017-08-08 01:52:24
366
原创 前端js小练习,动态生成乘法表
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Document</title> <link rel="stylesheet" href="css/style.css"> <style>/* .body{width: 10px;height: 10px;}*/
2017-08-07 17:05:40
801
原创 uva-439 骑士的移动
bfs,用队列记录步数#include <cstdio>#include <cstring>#include <vector>#include <queue>#include <iostream>using namespace std;#define DEBUGconst int maxn=1000+5,maxv=26;int a,b,c,d;bool visited[maxn][
2017-08-07 01:35:04
230
原创 uva-10129 单词
成语接龙可以抽象为欧拉回路,单词为有向边,词头词尾为节点,用dfs判断是否图是否连通,先判断入度出度,然后dfs,在判断图是否连通。visitedv数组用来区别不存在的点、存在的点和存在且已用dfs访问过的点#include <cstdio>#include <cstring>#include <vector>#include <queue>#include <iostream>using
2017-08-06 21:27:28
184
原创 uva-10305拓扑排序水一发
队列实现,思路简单#include <cstdio>#include <cstring>#include <vector>#include <queue>#include <iostream>using namespace std;#define DEBUGconst int maxn=100+5;int m,n,a,b;int indegree[maxn];int G[maxn
2017-08-05 03:22:44
230
原创 stud-2779裸bfs
c++的数组下标为负数竟然不报错#include <cstdio>#include <cstring>#include <vector>#include <queue>#include <iostream>using namespace std;#define DEBUGconst int maxn=15+5;char buf[maxn][maxn];bool visited[ma
2017-08-05 02:22:00
271
原创 uva-572 种子填充floodfill
#include <cstdio>#include <cstring>#include <vector>#include <queue>#include <iostream>using namespace std;#define DEBUGconst int maxn=100+5;char buf[maxn][maxn];int idx[maxn][maxn];int direc
2017-08-04 15:19:33
187
原创 uva-297 四分树
边处理边统计,模拟画图#include <cstdio>#include <cstring>#include <vector>#include <queue>#include <iostream>using namespace std;const int maxn=400;#define DEBUGbool buf[32][32];char s1[2000],s2[2000];i
2017-08-04 03:18:55
277
原创 uva-699
#include <cstdio>#include <cstring>#include <vector>#include <queue>#include <iostream>using namespace std;const int maxn=300;int sum[maxn];void build(int p){ int v;cin>>v; if(v==-1)ret
2017-08-04 01:04:45
222
原创 uva-839天平
白书代码,太优美,简直不能再简洁#include <cstdio>#include <cstring>#include <vector>#include <queue>using namespace std;const int maxn=300;bool solve(int& w){ int w1,w2,d1,d2; scanf("%d %d %d %d",&w1,&d1
2017-08-03 08:16:16
232
原创 uva-122 树的层次遍历
uva 122 白书代码#include <cstdio>#include <cstring>#include <vector>#include <queue>using namespace std;const int maxn=300;char s[maxn];bool failed;struct node{ bool have_value; int v;
2017-08-03 07:24:44
247
原创 uva679
二叉树模拟#include <cstdio>#include <cstring>using namespace std;const int maxd = 20;bool s[1<<maxd];int index;int main() { int d,n; while(scanf("%d%d",&d,&n)!=EOF){ memset(s,0,sizeof(
2017-08-03 05:32:05
153
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人