自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(36)
  • 收藏
  • 关注

原创 To do list

补题列表

2016-11-10 18:22:36 285

原创 ubuntu 通过虚拟ap建立热点

参考http://onetracy.com/2015/09/15/ubuntu_share_wifi/ 使用github上的开源脚本oblique/create_ap 其中wlan1 ppp0 AccessPoint SSID里的wlan1和ppp0均为端口号,以无线网为网络来源建立热点时,将两者都写为无线网卡端口即可(ifconfig可查)...

2018-05-08 12:18:09 588

原创 poj 2446 二分图最大匹配

题意:给一张m*n的棋盘,上面有k个格子有洞,用1*2的骨牌将棋盘覆盖,每个格子必须被恰好覆盖一次,有洞的地方不能覆盖,问是否存在这样的方案。思路:容易想到将格点作为二分图中的点,骨牌作为二分图中的边(骨牌可能放置时),求二分图的最大匹配,如果匹配数与n*m-k相等,则方案存在,否则不存在;容易想到当n*m-k为奇数时方案一定不存在;构思时卡在怎么将格点用一维坐标表示出来,后来发现是自己蠢了......

2018-03-06 15:11:27 228

原创 poj 2226 二分图最大匹配

题意:在NxN的网格上,有一些格点是草地,有一些格点是泥地,给你一些宽度为1的长度不限的木板,将泥地全部覆盖,木板可以互相重叠但不能覆盖草地(这一点不同于poj3041)思路:建图比较难想,将每一行上连续的泥地和每一列上连续的泥地计为二分图中的点,每一块泥地对应二分图中的边,就能将问题转化为最小点覆盖,求二分图最大匹配即可 1 #include<cstdio> 2 #include&...

2018-03-06 15:11:24 274

原创 poj 3041 二分图最大匹配

题意:给定一个NxN的网格,其中有k个格点上有障碍物,每次可以消除一行或一列障碍物,问最少几次可以消除全部的障碍物。思路:二分图的经典模型,将所有的行看作二分图中左边的端点,将所有的列看作右边的端点,当格点上有障碍物时,连一条边,问题转变为求二分图的最小顶点覆盖,根据König定理(二分图的最大匹配等于二分图的最小顶点覆盖)求最大匹配数即可 1 #include<cstdio> 2 ...

2018-03-06 15:11:22 189

原创 hdu 1054 二分图最大匹配

思路:模板题,注意是无向图,所以最后结果要除以2。点有1500个,邻接矩阵会超时,用了邻接表。 1 #include<cstdio> 2 #include<iostream> 3 #include<cstring> 4 #include<algorithm> 5 #include<cmath> 6 #include<cst...

2018-03-06 15:11:19 160

原创 二分图资料

二分图基本概念和最大匹配  http://www.renfei.org/blog/bipartite-matching.html  http://www.cnblogs.com/kuangbin/archive/2012/08/26/2657446.html  http://wenku.baidu.com/link?url=qdx1qr-kdWgs3RPomqsJ9d8ZMF-ouhUjckzKV...

2018-03-06 15:11:16 175

原创 POJ 1469 二分图最大匹配

思路:裸的二分图最大匹配 1 #include<cstdio> 2 #include<iostream> 3 #include<cstring> 4 #include<algorithm> 5 #include<cmath> 6 #include<cstdlib> 7 #include<sstream>

2018-03-06 15:11:14 275

原创 hdu 5791 Two dp

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5791题意:给你两个序列,求相同的子序列个数,结果对1e9+7取余题解:dp[i][j]表示两序列分别以i,j为结尾的子问题结果,当i不等于j时,d[i][j] = d[i-1][j]+dp[i][j-1]-dp[i-1][j-1],当i等于j时,d[i][j] = d[i-1][j]+d[i]

2018-03-06 15:11:11 149

原创 hdu 5783 Divide the Sequence 贪心

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5783题意:给你n个整数,将它分成若干个前缀和大于等于0的块,求块的最大个数。题解:题目保证有解。从后向前贪心,当前和大于等于0时,序列个数增加一。 1 #include 2 typedef long long LL; 3 const int maxn = 1000000 + 5

2018-03-06 15:11:08 160

原创 poj2299 树状数组入门题

题意:利用树状数组求逆序数;思路:因为输入范围较大,先离散化一下,得到的数组a记录了原来数组的大小关系;然后按下标顺序执行add(a[i],1),这样sum(a[i])得到的就是小于等于a[i]的个数,i-sum(a[i])即为a[i]前面比a[i]大的数的个数 //外循环n次并累加i-sum(a[i])得到逆序数  1 #include 2 #include 3 #inc

2018-03-06 15:11:06 272

原创 中国剩余定理

51nod1079 1 #include 2 #include 3 using namespace std; 4 typedef unsigned long long ULL; 5 int p[11],r[11]; 6 7 ULL Find(ULL x, int y) 8 { 9 ULL ret;10 for(int i = 1;

2018-03-06 15:11:03 135

原创 树状数组

1 int lowbit(int x) 2 { 3 return x & (-x); 4 } 5 6 int sum(int x) 7 { 8 int ret = 0; 9 while(x > 0)10 {11 ret += tmp[x]; x -= lowbit(x);12 }13

2018-03-06 15:11:00 125

转载 VirtualBox虚拟机运行Ubuntu如何不卡

 转载自http://www.xuzefeng.com/post/85.html在性能方面,在虚拟机上运行系统总是弱于在本机上运行,但虚拟机有其便利性。有时候,明明电脑硬件配置是足 够的,但在虚拟机上跑Ubuntu的时候却有点卡。例如,笔者观察到的现象是Ubuntu的界面很卡顿。出现这种现象很有可能是设置问题。笔者在这篇文章里用的电脑,CPU为英特尔笔记本i5第三代,内存大小为4GB。1、开启CP...

2018-03-06 15:10:58 10935

原创 快速幂

快速计算a^b(x^n),输入在int范围内     注意:在计算矩阵快速幂时采用递归写法容易爆栈递归写法1 typedef long long ll;2 ll fast(ll x, ll n)3 {4 if(n == 0) return 1;5 if(n&1) return x*fast(x,n-1);6 ll tmp = fast(

2018-03-06 15:10:52 159

原创 矩阵快速幂加速(常系数递推方程)

参考资料:http://www.cnblogs.com/vongang/archive/2012/04/01/2429015.htmlhttp://wenku.baidu.com/view/bac23be1c8d376eeafaa3111.html?from=search###

2018-03-06 15:10:50 480

原创 lower_bound和upper_bound 的区别

对于非递减序列lower_bound()返回一个 iterator 它指向在[first,last)标记的有序序列中可以插入value,而不会破坏容器顺序的第一个位置,而这个位置标记了一个大于等于value 的值。upper_bound()返回一个 iterator 它指向在[first,last)标记的有序序列中可以插入value,而不会破坏容器顺序的最后一个位置,而这个位置标记了一个大于val...

2018-03-06 15:10:47 263

原创 二分查找 模板(升序数组)

1 int binSearch(const int arr[],int low,int high,int key)2 {3 if(low>high)4 return -1;5 int mid=low+(high-low)/2;6 if(arr[mid] == key)7 return mid;8 return (a

2018-03-06 15:10:45 306

原创 hdu 1856 并查集(路径压缩)

hdu 1856 More is better简单的并查集,用到了路径压缩题意:找出节点数最多的连通分支,并输出该节点数。思路:统计每个连通分支的节点数(利用并查集构建图时进行路径压缩,用一个与根节点下标对应的sum数组记录节点数),比较后得出最大值。 1 #include 2 #include 3 4 int set[10000000 + 50]; 5 in

2018-03-06 15:10:42 231

原创 hdu 1272 并查集

hdu 1272 小希的迷宫题意:判断图是否连通且无环;思路:输入边的两点,若两点的父节点相同,则存在环;只有一个根节点则图连通;当输入"0 0"时输出"Yes" 1 #include 2 #include 3 4 int set[100000 + 50]; 5 bool visit[100000 + 50]; 6 bool flag; 7 int fin

2018-03-06 15:10:39 102

原创 线段树FB

hdu 1166 敌兵布阵最简单的单点更新,因为是第一题线段树,学习了网上的题解之后写的 1 #include 2 #include 3 using namespace std; 4 5 const int maxn = 50000; 6 7 struct segment{ 8 int l,r,sum; 9 } T[maxn*4];10

2018-03-06 15:10:36 131

原创 贪心FB

hdu 2037  今年暑假不AC思路: 定义结构体,排序,然后贪心。(如需输出最多可看的节目是哪些,可以使用标记数组来记录)#include#include#includeusing namespace std;struct T{ int s,e;};T program[105];bool cmp(const T a,const T b

2018-03-06 15:10:34 116

原创 POJ 1276 混合背包

发现不能按照背包九讲上的直接将各种背包封装成函数来写,会RE 对于背包结果存在上限的,直接在转移加上限制即可#include<cstdio>#include<cstring>#include<iostream>using namespace std;int dp[100001];int cnt[11]; //numberint D[11]; // denominationint cas

2017-04-06 14:31:47 298

原创 POJ 1837

刚看完背包九讲就来做的这题,判断出是分组背包,一个砝码放在任意一个挂钩就是一个分组,其实就是比01背包多了一重循环,保证每个砝码只被放一次。陷入了分组背包的误区 错误地认为这题也和经典的背包问题一样是求最优方案或者最优方案总数。看了网上的题解才醒悟到具体问题要具体分析,从状态入手。这题是要得到恰好用完所有砝码并达到平衡态的方案数。而平衡态并不能通过找最优(即在状态转移中取较小或较大)来得到,因...

2017-04-06 12:54:50 260

原创 HDU 3631 floyd

链接:http://acm.hdu.edu.cn/showproblem.php?pid=3631 题意:给定一个有重边的有向带权图,n个点,m条边,q个询问。每个询问分两种,0 x,表示标记x点,1 x y,输出x到y的最短路且经过的都是标记过的点,当x或y为未标记的点时输出ERROR。n<=300,m<=1e5。

2016-12-02 23:16:37 261

原创 UVALive 4255 前缀和 拓扑排序

题意:定义为的正负号,现在给出符号矩阵S,找出对应的一个序列A。<=10,序列的长度n<=10. 解法:首先根据连续和转化为前缀和之差的思想,设为,则可表示为-,矩阵中的一项表示了两个之间的大小关系,设=0,问题转化为已知序列的大小关系,求出一个对应的序列B。用拓扑排序可以求解,然后很容易得出序列A#include<bits/stdc++.h>using namespace std;const

2016-11-09 10:37:58 289

原创 UVA 10129 欧拉回路 判断连通性

题意:输入n个单词,判断是否可以使这些单词排成一列,每个单词的第一个字母与上一个单词的最后一个字母相同,最后一个字母与下一个单词的第一个字母相同

2016-11-08 15:45:18 319

原创 UVA 10054 欧拉回路

题意:有一些五颜六色的珠子,可以按一定的规则串起来:每颗珠子的两半可以是不同的颜色,相邻珠子接触的地方颜色要相同。现在给出N颗珠子及其两半的颜色,问是否可以组成一串,若是则按串的顺序输出。颜色由数字表示,且范围在1到50之间。

2016-11-08 14:19:37 373

原创 hdu 1010 DFS+剪枝

题意:在n*m的四联通矩阵上从起点走到终点,问是否能恰好在t秒到达,每个点最多走一次 思路:dfs即可,但会超时,需要用到奇偶性剪枝,即在dfs过程中当前点处的坐标到终点的曼哈顿距离和剩余的步数必须奇偶性一致#include<bits/stdc++.h>using namespace std;char maze[8][8];bool vis[8][8];int dx[] = {0,1,0,-

2016-10-28 16:35:18 262

原创 hdu 1533 最小费用最大流模板题

这一题虽然说是模板题,但作为学习了最小费用最大流过程之后的第一题,模型的建立还是一脸懵比,之后通过见识相关的变形再来磨练建模的能力吧 如下是网上题解中关于本题中网络流的建模: 1.所有人到所有的房子均建容量为1,费用为人到房子的曼哈顿距离的流 2.建立超级源点s,s到所有人均建容量为1,费用为0的流 3.建立超级汇点t,所有房子到t均建容量为1,费用为0的流#include<bits/std

2016-10-13 18:16:58 403

原创 HDU 3790 又是一道最短路水题

题意:在最短路模板题的基础上,每条边除了长度还存在花费,在满足长度优先最短的情况下,找到最小的花费 解法:适当更改松弛操作即可,同时用Dijkstra写的时候要注意去重边的方式(通过长度来判断而不能通过花费)#include<bits/stdc++.h>using namespace std;typedef long long LL;typedef unsigned long long UL

2016-10-12 15:07:56 336

原创 HDU 2544 SPFA+前向星模板题

学习了一下SPFA和前向星 SPFA 复杂度为O(k*e) (k为所有顶点进队的平均次数且k<=2) ,可处理负权边,判负环 前向星是一种静态邻接表,写起来很方便#include<bits/stdc++.h>using namespace std;int n,m,cnt;struct Edge{ int to,next,w;}edge[10005*2];int head[105*

2016-10-12 12:15:39 347

原创 最短路水题

最短路水题hdu 1596 求边权乘积的最大值,Dijkstra修改下松弛操作即可#include<bits/stdc++.h>using namespace std;const int maxn = 1005;const int INF = 0x3f3f3f3f;double f[maxn][maxn];double d[maxn];bool vis[maxn];int main(){

2016-09-29 09:28:23 291

原创 hdu 3342 Legal or Not (Floyd判圈)

题意:n个人有m个师徒关系,每个人可以有多个徒弟,也可以有多个老师,但任两个人之间不能互为老师,且师徒关系是可传递的。

2016-09-16 16:32:13 240

转载 让人深思的退役贴

真的让人深思!!尤其我这种菜鸡。。出处不明,以下是转载的内容:————————————————————3xian退役贴-------------------------------------------------------------------------------------------------------------------------------------

2016-09-15 17:49:34 892

转载 POJ题目分类推荐 (很好很有层次感)

OJ上的一些水题(可用来练手和增加自信) (poj3299,poj2159,poj2739,poj1083,poj2262,poj1503,poj3006,poj2255,poj3094)初期:一.基本算法:      (1)枚举. (poj1753,poj2965)      (2)贪心(poj1328,poj2109,poj2586)      (3)递归和分治法.

2016-08-31 15:11:08 380

空空如也

空空如也

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

TA关注的人

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