自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 centos7.6 使用中文输入法

找到settings里region&lanuage,在input Sources里添加Chinese(intelligent Pinyin)即可。

2023-05-03 10:15:21 180

原创 ZOJ Problem Set - 3203

题目链接:ZOJ Problem Set - 3203题意:三分,代码: //ans = D-X+H-(H-h)*D/X#include<cstdio>#include<iostream>using namespace std;const double ex = 1e-9;double H,h,D;double f(double X){ ret...

2018-08-31 21:20:30 188

原创 openjudge-4135——Monthly Expense

题目链接:openjudge-4135——Monthly Expense题意:给定n,m,让你将n个数重新划分成m个数,而且是连续才能划分到一起,划分后的值为之前的这些数的和,然后目标是让重新划分后的这些值中最大的那个最小化。思路:二分,最大值最小化代码:#include<cstdio>#include<iostream>using namespace...

2018-08-31 19:17:04 208

原创 Assemble UVALive - 3971 (最小值最大化,二分解决)

题意:你要组成一台电脑,电脑由多个组成,每个组件有多个可供选择,每个组件有两个值p,q,代表价格和质量,给定代表你的钱,要求你买的组件不超过b的情况下组成一个电脑并且q最大(备注:电脑的q值等于所有组件的q值的最小值),问q为多少? 这种就是最小值最大化。(最小是一种限制,在这种限制下看能尽量更大的值)思路:发现q满足单调性,二分,用map和vector辅助求解!代码:#includ...

2018-08-31 19:02:09 164

原创 hdu3974 Assign the task (线段树 + 树形结构转为线性结构)

题目链接:hdu 3974大意:给你一棵树,当你在某个结点修改地时候,那么以这个结点为根地子树地所有结点都会做一样的修改,我们可以把这个树转化为区间问题,按照dfs的方式去遍历这棵树,然后入栈的序列即这些结点转化为区间时在区间中的序号,因此每个结点所代表的子树相当于一段区间,我们要记录每个结点所对应的区间起点和区间终点。看代码即可理解!代码:#include<cstdio>#incl...

2018-05-27 14:58:10 324

原创 hdu 4614 Vases and Flowers (线段树 + 区间求和)

题目链接:hdu 4614思路:给你一段区间,区间每个点代表每个瓶子,两种状态,有话和无花,题目有两种询问,第一是询问你给你一个起点A和花的数,问你将从点A开始连续地插花直到没有空瓶或者已将插了B只(这里地连续并不是区间连续,而是相对于空瓶子来说地)。让你返回两个数,第一是你插花地第一个位置,第二个是你插花地最后一个位置。第二个查询是,给你A,B,让你先清空这段区间地花,并返回一个num表示你清空...

2018-05-27 14:47:16 142

原创 hdu 4578 Transformation (线段树 + 延迟标记)

题目链接:hdu 4578思路:代码:#include<cstdio>#define ll long long const int mod = 10007;const int maxn = 1e5+5;#define mid (L + R)/2#define ls rt*2#define rs rt*2+1#define lson ls,L,mid#define rso...

2018-05-23 12:19:20 233

原创 hdu 1540 Tunnel Warfare(线段树 + 区间合并)

题目链接:hdu 1540题目大意:D x 表示x位置被炸毁, R表示修复最近被炸毁的点,Q x 表示查询包括x点在内连续最大的区间并且满足这段中都是没有被炸毁。代码:#include<cstdio>#include<algorithm>using namespace std;#define maxn 50000+10#define lson left, mid, ...

2018-05-21 20:46:46 182

原创 poj 3461 Oulipo(KMP求子串出现次数)

题目链接:poj 3461代码:#include<cstdio>#include<cstring>#include<iostream>using namespace std;#define MAXN 1000010char T[10010], S[MAXN];int len_t, len_s;int next[10010];void getNex...

2018-05-15 20:29:10 257

原创 kmp模板(求子串首次位置 + 求子串出现的次数)

代码:#include<cstdio>#include<cstring>#include<iostream>using namespace std;#define MAXN 100char T[MAXN], S[MAXN];int len_t, len_s;int next[MAXN];void getNext(){ int k = -1, ...

2018-05-15 20:14:41 1137

原创 hdu 2444(二分图判断 + 最大匹配)

题目链接:hdu 2444题意:有n个童鞋,给出的m对童鞋是相互认识的,第一问问是否能分成两个部分,每部分之间童鞋是相互不认识的,但是和另一部分的童鞋是可以认识的,明显问你这些童鞋是否能构成二分图,连边的条件显然是是否认识。第二个问说相互认识的童鞋可以被分配一个房间,问你最大的房间数,那么就是要求二分图的最大匹配,下面我们用染色法判断是否二分,用匈牙利算法去求最大的匹配。代码:#include&l...

2018-05-15 11:29:13 205

原创 hdu 1272 小希的迷宫(并查集判断是否连通)

题目链接:大概题意:代码:

2018-05-13 23:48:22 194

原创 hdu - 1213 How Many Tables(并查集 简单)

题目链接:题意:并查集简单运用代码:#include<cstdio>#include<cstring>#include<iostream>using namespace std;#define maxn 1010int F[maxn];int vis[maxn];int find(int x){ if(F[x] == -1) return x;...

2018-05-13 22:52:25 141

原创 hdu 1198 Farm Irrigation(并查集)

题目链接:hdu 1198题意:给出一张水管图, 有水管相连的水可以通往各处,问你至少需要多少个水源,让所有水管通水。显然用并查集,判断到最后有多少个集合。代码:#include<cstdio>#include<iostream>using namespace std;#define maxn 100struct Pipe{ int down, left, ...

2018-05-13 22:13:10 133

原创 hdu 1698 just a hook(线段树区间更新)

题目连接:hdu 1698区间更新, 线段树维护两个关键值, 一个是col表示颜色,即题目那三种,另一个关键是保存区间和sum,col用延迟标记,即当需要访问到儿子结点的时候才把col传递下去,并且更新儿子结点的sum值代码:#include<cstdio>#define MAXN 100010struct node{ int left, right, sum, col;}t...

2018-04-27 15:04:14 178

原创 poj2528 Mayor's posters 线段树区间更新+离散化

题目链接:poj 2528题目大意:n表示给定的海报数目,接下来的n行表示海报的左端 Li 和右端 Ri,注意到他们是按照顺序贴的,即后面贴的海报会覆盖前面贴的海报,所以我们会想到线段树的区间更新。具体就是给每张海报赋予一个ip(用他们输入的顺序即可)作为他们的颜色,然后去染色那个给定区间。还有一个很关键的问题在于海报的贴的范围最大是10000000,数组保存不了,但是海报数n只有2000,所以想...

2018-04-27 14:52:27 177

原创 hdu 1166 敌兵布阵

题目连接:点击打开链接第一道接触线段树的题目,给定一个大小为n的工兵营地(区间),给定区间每个营地(点)的起始人数,有四种命令。如下1、在第i个营地增加j个人2、在第i个营地减少j个人3、询问(i,j)这个区间中的总人数4、end表示结束用线段树做,维护一个总和即可。代码:#include<cstdio>#include<iostream>using namespace...

2018-04-27 14:25:50 81

原创 poj-2513

题意大概是,让你每次输入两个颜色单词,表示这是连成一条木棍的单词(从这可以看出这是一个无向图,因为无前后关系),然后他要求说能否根据这个拼接成一条路线,把所有的木棍都应连接,把木棍看成边,单词看成点,就是要让你把所有的边都连一遍,当然是不重复也不漏的,这恰好是无向图欧拉通路的问题。因此要保证图是连通的,而且奇数点的个数要么是0要么是2.这里判断图的连通用并查集(压缩路径),即看看最后是不是在同

2018-01-30 17:48:06 197

空空如也

空空如也

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

TA关注的人

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