自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(108)
  • 资源 (1)
  • 收藏
  • 关注

原创 并发编程——pthread

pthread并发编程

2023-01-16 01:59:03 104

转载 NotOnlySuccess 大牛的线段树的题目

以下是大牛给出的练习题。单点更新: 1. hdu 1166 敌兵布阵 2. hdu 1754 I Hate it 3. hdu 1394 Minimum Iversion Number 4. hdu 2795 Billboard 5. poj 2828 Buy Tickets 6. poj 2886 Who Gets the Most Candies?成段更新: 1. hdu 1698

2019-11-23 19:29:39 748

转载 HDU dp46

人弱就要多刷题!转自: http://www.cppblog.com/doer-xee/archive/2010/01/28/102629.html#PostRobberies http://acm.hdu.edu.cn/showproblem.php?pid=2955 最大报销额 http://acm.hdu.edu.cn/showproblem.php?pid=1864 最大连续子序列

2019-11-23 19:29:31 772

原创 3041 Asteroids(二分图最大匹配)

题解在一个N×NN×NN\times N的网格上,分布着KKK个行星。Bessie拥有一种能力,每次可以消灭一行或一列的行星。求Bessie最少需要多少次才可以消灭所有的行星。输入输入N,KN,KN, K。 接下来KKK行,每行输入2个整数x,yx,yx, y,表示一个行星的坐标。输出输出最少的次数思路把每行、每列都当作一个节点,网格中的点看作这些...

2018-04-22 19:19:49 216

原创 计算表达式值

#include <stdio.h>#include <math.h>#include <string.h>#include <algorithm>#include <iostream>#include <string>#include <vector>#include <queue>#include <stack>#include <set>#include <map>usin

2016-09-17 22:52:28 438

原创 求解N阶幻方

#include #include #include #include #include #include #include #include using namespace std;const int N = 1e2 + 10;int arr[N]

2016-09-06 18:45:35 441

原创 POJ 3321 Apple Tree(dfs序 + 树状数组)

题目链接:http://poj.org/problem?id=3321题意:给出一棵树,刚开始每个节点都有一个苹果。共有两种操作:Q x 查询以x节点为根的子树共有多少个苹果。C x若x节点有苹果,将x节点的苹果去掉,否则添加上。思路:可以通过dfs序将树转换为线段,然后通过树状数组或线段树来维护。注:存边直接用vector会超时代码:#include <stdio.h>#include <

2016-08-27 11:37:39 508

原创 HDU 1811 Rank of Tetris(并查集+拓扑排序)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1811题意:给出n个点,m个关系。u > v表示u的rating高于v的。u < v表示u的rating低于v的。u = v表示u的rating等于v的,则最后的排序按照标号大小来排。问给定的关系,如果存在矛盾,输出CONFLICT,如果存在不确定的,输出UNCERTAIN;都没有输出OK。思路:

2016-08-20 11:45:13 344

原创 HDU 2647 Reward

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2647题意:boss需要发工资,每个人的最低工资为888,在给定的条件下,求boss需要发的最少工资和。 m个条件:每次为u和v,代表u的工资高于v的工资。若出现矛盾,则输出-1。思路:几乎为裸的拓扑排序,在节点入队时记录该节点在拓扑序中所并列排的名次。代码:#include <stdio.h>#in

2016-08-20 11:33:40 274

原创 四道裸最小生成树

题目链接:HDU 1233 还是畅通工程题意:对给出的图,求最小生成树的总长度。代码:#include <stdio.h>#include <queue>#include <string.h>#include <algorithm>#include <vector>#include <iostream>using namespace std;const int N = 2e4 + 10;s

2016-08-20 11:23:18 252

原创 HDU 1232 畅通工程

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1232题意:n个点,m条边,问最少需要多少条边将这些点全部联通。思路:裸并查集,统计有多少个联通块。代码:#include <stdio.h>#include <algorithm>#include <string.h>#include <vector>#include <queue>#incl

2016-08-20 11:09:18 240

原创 两道最短路裸题(HDU 2544 最短路 / HDU 1596 find the safest road)

题目链接:HDU 2544 最短路题意:给出n个点,m条边的图,求1到n的 最短路。代码:#include <stdio.h>#include <algorithm>#include <string.h>#include <vector>#include <queue>#include <iostream>using namespace std;const int M = 1e5 + 10

2016-08-20 11:02:21 308

原创 变量命名法

骆驼命名法格式:单词之间不以空格或连接号(-,即camel-case)、下划线(camel_case)隔开。小驼峰命名法:第一个单词的首字母小写,其他的单词的首字母大写camelCase。大驼峰命名法:每个单词的首字母大写。例CamelCase帕斯卡命名法(同大驼峰命名法)格式:单词之间不以空格或连接号(-,即pascal-case)、下划线(pascal_case)隔开。例:PascalCa

2016-08-18 13:24:33 455

原创 最小生成树基础算法

前提:并查集struct Node { // u -> v 值为 w int u, v, w; Node() {} Node(int a, int b, int c) { u = a, v = b, w = c; } friend bool operator < (Node a, Node b) { return a.w > b.w; }};// 预处理时f[

2016-08-18 00:13:30 212

原创 最短路基础算法

1 Dijkstra优先队列优化的Dijkstraint dij() { priority_queue<Node> q; q.push(Node(1, 0)); d[1] = 0; while (!q.empty()) { Node f = q.top(); q.pop(); for (int i = 1; i <= n; i++) { if (d

2016-08-16 23:48:28 282

原创 HDU 1285 确定比赛名次(拓扑排序)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1285题意:共N个队伍,给出M个比赛结果,即u和v比赛,u胜v。求最终的比赛名次,若无法确定优先的,队伍号小的优先。思路:裸拓扑排序。 拓扑排序:每次取入度为0的点为优先的点,取出后,删除该点所连接的边,重复操作直至所有点取完。代码:(队列维护可能快一些?)#include <stdio.h>#inc

2016-08-11 23:55:15 244

原创 UVA 10047 The Monocycle(BFS)

题目链接:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=988题意:从S走到T,每走一格车轮转一个颜色,求到T时车轮颜色为绿色(起始也为绿色)的最短路径。每次可向当前车轮方向走一格,或者原地向左转动或向右转动。思路:几乎也为裸的BFS,多记录一些状态,即需

2016-08-11 23:49:24 253

原创 UVA 11624 Fire!(BFS)

题目链接:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=2671题意:J需要逃出矩阵,只有走到矩阵边即算成功。但是矩阵中存在几个F代表火,火每一秒向四周扩散,问J能否逃出?求最短路径。思路一:先对火进行搜索,记录火到每个点的最短时间。然后对J进行搜索,J每

2016-08-11 23:44:03 281

原创 2道裸BFS(POJ 3278 Catch That Cow / POJ 2251 Dungeon Master)

POJ 3278 Catch That Cow 题目链接:http://poj.org/problem?id=3278题意:人在N,牛在K,人要去找牛,求最短路径。人在X,可以前往X+1X−12×XX+1\quad X - 1 \quad 2 \times X。思路:裸BFS,直接搜即可。代码:#include <stdio.h>#include <string.h>#include <

2016-08-11 23:22:25 297

原创 POJ 3083 Children of the Candy Corn(BFS + DFS)

题目链接:http://poj.org/problem?id=3083题意:给定w×hw \times h的矩阵,分别求从S到T:沿着左边墙壁的走的路径,沿着右边墙壁走的路径,最短路径。思路:最短路径直接利用bfs搜索可得。对于沿着墙壁走,记录当前的状态为(当前点所在的坐标,当前前行的方向),例如沿着左边墙壁走,若一下不会做,可以分情况考虑,以当前所在点为中心的3×33 \times 3的矩阵中,分

2016-08-11 23:14:57 226

原创 URAL 1325 Dirt(BFS)

题目链接:http://acm.timus.ru/problem.aspx?space=1&num=1325题意:给定N×MN\times M的矩阵,给定起点和终点。其中矩阵中,0表示墙,1表示可以走的点,2表示脏的点。每次从1走到2或者从2走到1都需要换一次鞋。每次走为八方向。求从起点到终点的换鞋次数最少的最短路是多少。输出最少换鞋次数和最短路。思路:直接BFS,每次记录到点(x,y)(x,\,

2016-08-11 23:02:07 333

原创 POJ 2387 Til the Cows Come Home

最近陪XY在练习代码,随便做的一些裸题。题目链接:http://poj.org/problem?id=2387题意:给出一个N个点T条边的无向图,求N到1的最短路。思路:其实直接用最短路算法也可以,但是因为练习DFS,而且N比较小,就写了DFS。代码:#include <stdio.h>#include <string.h>#include <math.h>#include <algorith

2016-08-11 22:41:09 200

原创 POJ 1050 / HDU 1081 To the Max(最大子矩阵和)

题目链接:POJ:http://poj.org/problem?id=1050HDU:http://acm.hdu.edu.cn/showproblem.php?pid=1081题意:给出一个n*n的矩阵,正负均有。求一个子矩阵使得该子矩阵的和尽可能的大。思路:类似于最大子段和,即将前i行至前j行的矩阵压缩成一行,利用一个数组c,c[k]表示第k列从第i行到第j行的和,接下来只需对

2016-08-03 20:26:31 329

原创 HDU 1506 Largest Rectangle in a Histogram(单调队列)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1506题意:有n个靠在一起的长方条,同底同宽不同高,如图左边,现在需要在其中找到一个面积最大的矩形。如图右边。 思路:因为考虑到n的大小为10510^5,暴力去寻找肯定是不行的,但是可以从暴力的思想上去优化。对于每个位置i,考虑最后的矩形与当前的小矩形同高,那么得到左右延伸最大宽度即可。所以对于位置i,

2016-02-20 23:45:39 390

原创 POJ 2823 Sliding Window(单调队列)

题目链接:http://poj.org/problem?id=2823题意:给出一个长度为n的数组 a ,滑窗大小为k。滑窗每个时刻往后滑动一个,求出每个时刻窗中最大值和最小值。思路:此为单调队列入门题。单调队列保持如下两个性质:队中保持对某一个优先级保持单调(严格?)。队中的元素从队首到队尾保证时刻递增(非依次递增),即队首的元素先过期,队尾元素为新入队的元素。维护 1. 入队:保持新元素

2015-11-11 11:34:56 352

原创 UVA 11987 Almost Union-Find(hash + 并查集)

题目链接:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=3138题意:n个点m个操作,给定三种操作。 1. 1 p q 合并p和q所在的集合 2. 2 p q 将p移动到q所在的集合 3. 3 p 输出p所在集合的元素个数和元素之和思路:若没有操作2

2015-10-27 10:42:50 380

原创 UVA 11468 Substring(AC自动机 + 记忆化搜索)

题目链接:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=2463题意:给定k个模式串,给定n个字母,每个字母均有一个发生概率,给定长度为l,求用给定n个字母构成的长度为l的不包含任何模式串的文本串概率。思路:利用k个模式串构成Trie,对于每个模式串结尾字

2015-10-21 22:25:47 398

原创 UVA 11019 Matrix Matcher(二维矩阵匹配ac自动机)

题目链接:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=1960题意:给出一个n×m的矩阵一,在给出一个x×y的矩阵二,求矩阵二在矩阵一中出现的次数。思路:对于矩阵二的每行建立Trie,并在单词结尾结点记录走到该结点的为行数c(有多个可开数组记录),利用一

2015-10-16 16:00:47 899

原创 UVA 11235 Frequent values(RMQ)

题目链接:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=2176题意:给定一个长度为n的非递减序列,q次查询,每次查询一个区间[l, r],求出当前区间内出现次数最多的数的次数。思路:考虑到是非递减的序列,若某个数出现多次,必然是一起出现的,出现过后将不再

2015-10-10 22:56:45 288

原创 UVALive 4329 Ping pong(树状数组求逆序数+顺序数)

题目链接:https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=2330题意:对于给定的一个长度为n序列a,对于每个位置i,若左边存在一个数a[l],右边存在一个数a[r],满足a[l]#include <stdio.h>#include <ios

2015-10-10 17:45:59 500

原创 HDU 4819 Mosaic(二维线段树+单点更新)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4819题意:给出一个n*n的矩阵,q个查询,每次查询输入x,y,d(奇数)。 对于每次的x,y,d,对应一个矩阵区域为以(x,y)为中心,d为边长的子矩阵。 输出该子矩阵的(最大值+最小值) / 2 。并且更新点(x,y)的值为该值。思路:以x建一棵线段树,对于x线段树中的每个节点,建一棵y的线段树。

2015-09-25 18:20:21 443

原创 UVALIVE 4487 Exclusive-OR(加权并查集)

题目链接:https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=2488题意:已知有n个数,但并不知道大小。有如下3种操作:I a w:下标为u的数值为w。I a b w:下标为u的数和下标为v的数的异或值为w。Q k z1…zk:求下标为z1

2015-09-21 23:43:14 680

原创 UVA 11136 Hoax or what(Multiset)

题目链接:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=2077题意:沃尔玛超市有n天做活动,每天有k笔交易。每次交易都将含有交易额的小票放在一个箱子中抽奖。每天从箱子中抽取最大和最小交易额的小票,并支出它们两个差的金额的钱给最大交易额的顾客。求n天沃尔玛

2015-09-20 20:23:33 508

原创 UVA 11997 K Smallest Sums(优先队列)

题目链接:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=3148题意:给定k个数组,每个数组k个数,对于每个数组只取一个数,这样总共有k^k种选择,每种选择对应一个和,这样总共有k^k个和,现在求这个k^k个和中的前k小个。思路:一开始想的利用优先队列+B

2015-09-18 08:10:12 424

原创 HDU 4787 GRE Words Revenge(在线AC自动机)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4787题意:Coach Pang学习英语单词,总共有n个操作,2种操作。每行读入一个字符串。如果字符串以+开头,此为单词(即模式串,不考虑重复)如果字符串以?开头,此为文章(即文本串,查询在此之前的单词在文本串中出现的次数)需要注意的是,文章是被加密过的,加密的方法就是将文章看作一个环,每次旋转上一

2015-09-10 21:54:19 1472 2

原创 HDU 2846 Repository(字典树)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2846题目:输入个n个词典串,然后输入q个串,对这q个串分别输出每个串都是几个词典串的子串。思路:因为要包含子串,比如abd,将串abd,bd,d都插入字典树,然后每个节点下统计子树个数,直接查找前缀就可以了。但需要注意dcda这种的,需要插入dcda,cda,da,a,这个时候d下面的子树应该是一个而不

2015-09-09 23:03:15 381

原创 UVALive 3942 Remember the Word(字典树 + 简单dp)

题目链接:https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=1943题意:给定文本串txt和n个模式串str,问有多少种方法用模式串中的任意几个拼成文本串(可重复用),最后结果模20071027。思路:利用数组d[i]表示从文本串位置i到文本串末

2015-09-09 00:04:39 460

原创 UVALive 3026 Period(KMP裸)

题目链接:https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=1027题意:给定长度为n的字符串S,求它每个前缀的最短循环节。思路:对于S的一个长度为i的前缀,若这个前缀是一个周期串,则i - f[i]的部分是循环节。如图:已知 [1~4]和[a~

2015-09-07 22:56:58 894

原创 LightOJ 1427 Substring Frequency (II)(AC自动机裸)

题目链接:http://lightoj.com/volume_showproblem.php?problem=1427题意:给定n个模式串,一个文本串,求每个模式串在文本串中出现的次数。思路:AC自动机裸题。代码:#include <iostream>#include <stdio.h>#include <string.h>#include <math.h>#include <algorit

2015-09-06 19:38:06 411

原创 HDU 3065 病毒侵袭持续中(AC自动机裸)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3065题意:给定n个模式串,一个文本串,判断每个模式串中在文本串中出现的次数。思路:AC自动机裸题。代码:#include <iostream>#include <stdio.h>#include <string.h>#include <math.h>#include <algorithm>#i

2015-09-06 17:47:58 345

计算机图形学算法源代码

书上源代码,有用的算法

2015-10-13

空空如也

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

TA关注的人

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