- 博客(98)
- 收藏
- 关注
原创 shell学习笔记--持续记录
1.#!/bin/sh 使用sh程序来执行下边的代码 #!/bin/more 输出下边的代码 #!/bin/可执行程序 下边的代码将会作为此程序的输入2. * 可以用来匹配文件名,正则匹配,作为乘法。**还可以作为幂运算3.(( 代码)) 即可以做数学运算,也可以在里面添加c代码4.$可以是代表一个已经定义的变量,可以作为正则匹配的行结束符,$$代表当前shell脚本的进程
2015-03-16 14:06:20
311
原创 插入外置网卡端口顺序混乱--linux系统
本文皆是作者工作学习中的理解或感悟,欢迎大家提出问题,一起讨论!!一.问题提出一般的主板上都带有两个网卡接口,linux系统启动后一般命名为eth0,eth1,当然如果我们不对eth0与eth1进行后期处理的话,每次开机eth0与eth1的位置也不会固定。所以当外置网卡时,更会出现端口混乱的问题(端口名与端口的pci位置不固定,每次启动都可能变换,内核对网络端口的命名顺序是根据检测到网卡的
2015-03-16 14:06:17
1169
原创 xfs参数简介
age_buffer_centisecs age_buffer_centisecs:(Min: 100 Default: 1500 Max: 720000) 多长时间设置为脏数据xfsbufd_centisecs xfsbufd_centisecs: (Min: 50 Default: 100Max: 3000)xfsbufd扫瞄脏buffer的时间间隔xfssyncd_
2015-03-16 14:06:15
994
原创 VM参数简介
block_dumpLinux 内核里提供了一个 block_dump 参数用来把 block 读写(WRITE/READ)状况转存(dump)到日志里,这样可以通过 dmesg 命令来查看。该参数表示是否打开Block Debug模式,用于记录所有的读写及Dirty Block写回动作。 缺省设置:0,表示禁用Block Debug将这个值设置为非零值,则在dmesg里记录各进程的b
2015-03-16 14:06:12
581
原创 由异常掉电问题---谈xfs文件系统
本文皆是作者自己的学习总结或感悟(linux环境),如有不对,欢迎提出一起探讨!!目录结构 一.相关知识 二.问题提出 三.处理方法 四.最终结果 一、相关知识1.xfs文件系统(概念性知识网上很多,自己去查喽) 文件系统的定义: 文件系统是操作系统用于明确存储设备(常见的是磁盘,也有基于NAND Flash的固态硬盘)或分区上的文件的方法和
2015-03-16 14:06:10
692
原创 poj 3264 Balanced Lineup
一个简单的线段树,憋了我好久。问题出在了存数据的数组开得不够,因为我建立线段树时要从D-1开始,但是D那一行的元素个数,可能会超过50000所以,存数据的数组要开的大一些。 1 #include 2 #define INF 1000000000 3 4 int n, m,D,a[(50000+1000)1],treemin[510002], treemax[510002];
2015-03-16 14:06:04
225
原创 poj 2388 Who's in the Middle
一个快排,水题。 1 #include 2 #include 3 4 int n, a[11000]; 5 6 int cmp(const void *_p, const void *_q) 7 { 8 int *p = (int *)_p; 9 int *q = (int *)_q;10 return *p - *q;1
2015-03-16 14:06:02
346
原创 poj 2299 Ultra-QuickSort
归并排序模版: 1 #include 2 3 long long int ans, n; 4 long long int a[501000], b[501000]; 5 6 void mergesort(int start, int end) 7 { 8 if(start end) 9 {10 int i, j, m
2015-03-16 14:05:59
255
原创 poj 1442 Black Box
ac了想了好久的题,真心高兴,虽然运行有点慢,但却是用c自己写的堆,代码很短;思路:维护两个堆,一个小顶堆用于存储所给数列最大的一部分,一个大顶堆用于存储所给数列剩下的最小一部分。运行过程:7 4 3 1 -4 2 8 -1000 2 1 2 6 6当输入1时,我们将3压入存储较大值的小顶堆中,判断存储较小值的大顶堆堆顶为NULL,则直接将3从小顶堆中取出,压入大顶堆,更新
2015-03-16 14:05:56
267
原创 poj 3253 Fence Repair
用堆来实现优先队列:就本题来说即:1.建立最小堆 2.取堆顶元素a,更新最小堆 3.取堆顶元素b,更新最小堆 4.将c = a+b 插入最小堆,更新最小堆,并累加c(为所求) 5.重复步骤1,直到堆顶元素等于输入数据的和,即堆里仅有一个元素。注意:
2015-03-16 14:05:53
245
原创 poj 1001 Exponentiation
1 #include 2 #includestring.h> 3 4 int n, p, len, flag; 5 char a[10],s[10], sum[200], sum2[200]; 6 7 void solve() 8 { 9 memset(sum2,0,sizeof(sum2));10 len += 5;11 for
2015-03-16 14:05:50
252
原创 poj 1789 Doing Homework again
思路:找到当前所给延时最长的所包含的作业里面分数最大的完成它,eg:71 4 6 4 2 4 33 2 1 7 6 5 4当我在第7天的时候,没有延时 >=7 的,所以没有满嘴条件的,当在第6天的时候, 只可能完成一个作业就是1,完成它。第5天的时候可以完成延时为6的那个作业,但是第六天已经完成了,所以没有满足要求的,第四天的时候有四个满足要求的,一个延时为 6 三个延时为 4, 找到
2015-03-16 14:05:48
298
原创 poj 2037 今年暑假不AC
简单贪心,选择不相交区间: 1 #include 2 #include 3 4 int n, s[25], e[25], r[25]; 5 6 int cmp(const void *_p, const void *_q) 7 { 8 int *p = (int *)_p; 9 int *q = (int *)_q;10 re
2015-03-16 14:05:45
448
原创 poj 3225 Help with Intervals
模版题,线段树区间赋值,反转,看别人代码敲的; 1 #include 2 #includestring.h> 3 #define MAXD 132000 4 #define N 131070 5 int tree[4 * MAXD], rev[4 * MAXD], to[4 * MAXD], a[MAXD]; 6 void build(int cur, in
2015-03-16 14:05:42
257
原创 poj 2528 Mayor's posters
线段树+区间离散化:弄了好久,注意数组范围。 1 #include 2 #includestring.h> 3 #include 4 #define MAXN 10000+100 5 6 int T, n, a[MAXN2], b[MAXN2], r[MAXN2], h[MAXN2], to[MAXN4]; 7 8 int cmp(const
2015-03-16 14:05:40
280
原创 hdu 2795 Billboard
随着对线段树的认识,我的重点放在了,这个线段树里每个元素所代表的意义上了。这道题我们把每一层看作一个空间,随着往里面放广告,空间越来越小,而线段树所标示的意义就是剩余空间,通过像二分一样的去查找,将时间按复杂度降下来。 1 #include 2 #includestring.h> 3 #define MAXN 220000 4 5 int h, w, n, D, tr
2015-03-16 14:05:37
242
原创 hdu 1394 Minimum Inversion Number
这道题一开始看题,没有什么思路,也是学习线段树以来第一次接触这样的题,后来通过查找资料了解到,这是线段树一个求逆序对的应用,通过学习这方面的知识,总结出可以将它转化为求区间和或者是求区间内1的个数这样一个基本的形式。这道题我们可以这样想,求逆序对也就是找后面的点比当前点小的这些点的个数的总和,另外我们也可以反过来找前面的点比当前点大的这些点的个数的总和。我用的后面的思路,可能会简单一些吧,每当
2015-03-16 14:05:34
271
原创 hdu 1166 敌兵布阵
线段树基础题: 1 #include 2 #includestring.h> 3 #define MAXN 200000+100 4 5 int T, N, D, tree[MAXN], num; 6 char s[10]; 7 8 void updata(int cur, int j) 9 {10 for(int i = D+cur; i^
2015-03-16 14:05:31
213
原创 poj 2239 Selecting Courses
确定用二分图算法,就找好对应关系,本题对应关系为一周的所有课节N=7*12,和每一科的对应。 1 //1274,2239,2584,2536,2446 2 //http://wenku.baidu.com/view/9962910590c69ec3d5bb75da.html 贪心最大二分匹配 3 //匈牙利树和增广轨 4 5 #include 6 #inc
2015-03-16 14:05:28
275
原创 poj 1274 The Perfect Stall
二分图,匈牙利算法: 1 //1274,2239,2584,2536,2446 2 //http://wenku.baidu.com/view/9962910590c69ec3d5bb75da.html 贪心最大二分匹配 3 //匈牙利树和增广轨 4 5 #include 6 #include 7 8 int used[610]; //是否在覆
2015-03-16 14:05:25
309
原创 poj 1236 Network of Schools
强联通分量模版题,tarjan算法: 1 #include 2 #includestring.h> 3 #define MAXN 110 4 5 int n, p, ans1, ans2, u[MAXN*MAXN], v[MAXN*MAXN], next[MAXN*MAXN], first[MAXN]; 6 int dfn[MAXN], low[MAXN], col[
2015-03-16 14:05:22
211
原创 poj 1258 Agri-Net
简单的模板题:prim算法适合浓密图: 1 #include 2 #includestring.h> 3 #define MAXN 110 4 #define INF 100000000 5 6 int n, v[MAXN], low[MAXN], w[MAXN][MAXN]; 7 8 void solve() 9 {10 int a
2015-03-16 14:05:19
241
原创 poj 2485 Highways
用kruskal()算法处理》》。 1 #include 2 #include 3 #define MAXN 300000 4 5 int T, n, h, u[MAXN], v[MAXN], w[MAXN], p[510], r[MAXN]; 6 7 int cmp(const void *_p, const void *_q) 8 { 9 i
2015-03-16 14:05:16
225
原创 poj 1789 Truck History
prim求最小生成树。 1 #include 2 #includestring.h> 3 #define INF 100000000 4 #define MAXN 2100 5 6 int n, v[MAXN], low[MAXN], d[MAXN][MAXN]; 7 char s[MAXN][10]; 8 9 void prim()10 {11
2015-03-16 14:05:14
186
原创 poj 2240 Arbitrage
又是套汇为题,初始化d数组为1就可以了,用bellman—ford算法。 1 #include 2 #includestring.h> 3 4 int n, m, num, u[2000], v[2000]; 5 double w[2000], d[50], ra; 6 char s[50][100], s1[100], s2[100]; 7 8 void
2015-03-16 14:05:11
262
原创 poj 1125 Stockbroker Grapevine
用floyd算法求出任意两点之间的距离,然后从一点出发找到其他点的最大的距离,找从所有点出发到其他点里的最大距离这一集合的最小值,就是所求.#include#includestring.h>#define MAXN 110int n, m, d[MAXN][MAXN];int main(){ while(scanf("%d",&n)) {
2015-03-16 14:05:08
232
原创 poj 2253 Frogger
这道题我是用并查集处理的,将所有边排序,当生成树里出现第一个点,第二个点时(或第0点第1个点),结束并查集,输出已处理边里的最大值就可以了。 1 #include 2 #include 3 #include 4 #define MAXN 210 5 int n,g,h,u[MAXN*MAXN],v[2*MAXN*MAXN],p[MAXN],r[2*MAXN*MAXN];
2015-03-16 14:05:05
215
原创 poj 1062昂贵的聘礼
弄了好长时间,终于找到错误了,原来地位可以为0,另外建立的可能是非连通的图,切记。#include#includestring.h>#define INF 10000000#define MAXN 110int m,n,N,mi,ans,p[MAXN],rank[MAXN],w[MAXN][MAXN], d[MAXN], vis[MAXN];void solve(i
2015-03-16 14:05:02
170
原创 poj 3259 Wormholes
和poj 1860差不多都用bellman—ford最简单的版本就可以了,关键在于巧妙的运用,做过了才能更好地理解》#include#include#includestring.h>#define INF 100000000#define MAXN1 520#define MAXN 8000int u[MAXN],v[MAXN],wt[MAXN], d[MAXN
2015-03-16 14:04:59
224
原创 UVA 11258 - String Partition
注意用long long就可以了#include#includestring.h>#define INF 0x7fffffffchar s[210];int n;long long f[210];void solve(){ memset(f,0,sizeof(f)); int len = strlen(s); for(int
2015-03-16 14:04:56
267
原创 UVA 10635 - Prince and Princess
题不是很难,但不知道怎么。。。请教下面两个代码有什么不同吗?为什么一个可以A,一个却是WA。AC:#include#includestring.h>#define MAXD 70000int N, P, Q, s[MAXD], r[MAXD];void solve(){ int i, j, p, q, top, mid, max, min; sc
2015-03-16 14:04:54
277
原创 UVA 11151 - Longest Palindrome
尽管很容易,还是贴出来吧。#include#includestring.h>int n, f[1000][1000], len;char s[1010];void solve(){ memset(f,0,sizeof(f)); for(int i = 0; i ) f[i][i] = 1; for(int k = 1; k
2015-03-16 14:04:51
287
原创 UVA 10154 - Weights and Measures
这道题隔了一个才做,动归有些生疏了,但从新捡起来发现比以前理解的更透彻了。f[i]表示托i个乌龟时的最轻重量,不断的去更新重量使其最小。这里要先做好预处理, 也就是为最长子序列拍好序。但是按照什么顺序排序呢?这里要用到一点贪心,我们想如果现在有两个乌龟,一个力气大一个力气小,重力我们不用管,那么应该把力气大的乌龟放在下面,还是力气小的呢,你可能会想,这和重力有关啊,仔细分析,如果力量大的在
2015-03-16 14:04:48
288
原创 每日一题 隐式图 倒水问题
很久没有做题了,慢慢熟悉起来吧!ACM不可间断,唉唉唉唉有三个无刻度标志的水杯,分别可装 a ,b , c升水,并且a>b , a>c , a,b,c,均为正整数。任意两个水杯之间可以相互倒水。用 杯子x给y倒水的时必须一直持续到把杯子y倒满或者把杯子x倒空,而不能中途停止。倒水过程中水量不变。最初的时候只有大杯子 装满水,其他两个杯子为空。问能不能量出x升水,如果可以,最少需
2015-03-16 14:04:45
295
原创 UVA 10369 - Arctic Network
最小生成树问题,kruskal算法的变形。代码如下:#include#include#include#define MAXN1 500+10#define MAXN 3000000int z, n, s, m, x[MAXN1], y[MAXN1], u[MAXN], v[MAXN], p[MAXN1], r[MAXN];double w[MAXN], fl
2015-03-16 14:04:42
382
原创 UVA 10397 - Connect the Campus
最小生成树问题,注意消去固定边时的方法:#include#includestring.h>#include#include#define MAXN 800#define MAXN1 300000double x[MAXN], y[MAXN], w[MAXN1];int n, p1, m, p[MAXN], u[MAXN1], v[MAXN1], r[MAXN
2015-03-16 14:04:40
198
原创 UVA 10048 - Audiophobia
floyd算法的变形,输出格式问题要注意。。。代码如下:#include#define MAXNC 100 + 10#define INF 100000 + 100int d[MAXNC][MAXNC];int C, S, Q, num;void init(){ num = 0; while(scanf("%d%d%d",&C, &S
2015-03-16 14:04:37
238
原创 UVA 10034 - Freckles
利用并查集求最短路,注意浮点数,再就是需要准备一下边集。#include#include#include#define MAXN 5000 + 100#define MAXN1 100 + 10int n, m, p1, p[MAXN1],r[MAXN],u[MAXN],v[MAXN];double w[MAXN], x[MAXN1], y[MAXN1];
2015-03-16 14:04:33
306
原创 UVA 567 - Risk
最短路问题:floyd算法:注意:输出格式#include#define MAXN 200int a, b, n, d[30][30], num;void init(){ num = 0; while(scanf("%d",&a) == 1) { for(int i = 1; i 20; i ++)
2015-03-16 14:04:31
248
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人