自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

今天的风儿好喧嚣~

时间是当前最缺少的东西~

  • 博客(26)
  • 资源 (2)
  • 收藏
  • 关注

原创 HDU4267

题意:第一行一个n,表示数的个数,下面一行n个数是初始数值,然后一行一个数m代表m个询问数,1 a b k c代表a到b区间内每隔k个数加c;2 a代表询问a出的值。树状数组可解,如果是对a到b区间内的所有数加c用树状数组很好解决,对于此题,由于是a、b间每隔k个数才进行更新,k的值在10之内,取余数也比较少可以对对应每个k建一棵树,对应的每个余数进行更新,数组定义就变成了C[N][11][11]

2015-05-22 22:24:00 586

原创 HDU_2187贪心

贪心水题,将单价从小到大排序,然后先拿便宜的买:#include #include #include #include using namespace std;int n, m;struct node{ int p, w;};int cmp(node a, node b){ return a.p < b.p;}node a[1111];int

2015-05-19 13:28:19 398

原创 HDU_5053_2014年鞍山网络赛

我当时怎么不知道有这么水的题。。。题意:给一个范围[a,b],求区间内整数的立方和。弱弱的再吐槽一下:当时怎么没发现#include #include #include using namespace std;#define ll __int64int main(){ ll a, b; int t; scanf("%d", &t); int

2015-04-30 18:16:35 377

原创 HDU5019_简单题

题意:给你一组数a,b,k让你求出a,b两数中第k大的公约数(它两个的最大公约数是第一个,第二大的是第二个)首先a,b的公约数是a,b共同因子的相乘,它的最大公约数是所有公共因子相乘,所以,a,b的所有公约数都会被其最大公约数整除,所以判断的时候只需要判断a,b最大公约数的因子即可:#include #include #include #include using namespa

2015-04-30 18:14:42 547

原创 hdu_4638_莫队算法小结

先把代码贴上留念,总结神马的以后写#include #include #include #include #include using namespace std;const int N =100000 + 1;int a[N], pos[N], numb, number[N];bool flag[N];struct node{ int l, r, id;}

2015-04-29 15:35:52 340

原创 KMP总结

伟大的看毛片算法!一直没有做总结,先贴个代码留个纪念吧!#include #include #include using namespace std;const int N = 100000;char p[N], f[N];int Next[N+1];void getnext()//获取next数组{ int len = strlen(f), i, j;

2015-04-25 19:42:37 338

原创 HDU_2665_划分树

题意:给你一个n个数的序列,有m个询问,对于每个询问a, b, k的意思是在区间a, b内第k大的数是什么,划分树水题,贴代码:#include #include #include #include using namespace std;const int N = 100000 + 10;int sorted[N], val[30][N], tlsum[30][N];v

2015-04-13 22:30:41 316

原创 HDU_1698_区间更新

题意:区间更新,给你一个区间a,b更新为c值,询问总区间的值和:#include #include #include using namespace std;const int N = 100000 + 10;int cal[N<<2], sum[N<<2];void updown(int rt, int c){ if(cal[rt]) {

2015-04-02 17:09:16 301

原创 HDU_2795_线段树

题意:h*w的广告牌,每次放一个1*a的广告,且最先放到最上边。线段树的简单题区间查找最大值的位置然后放进去,更新放进后的信息:#include #include using namespace std;const int N = 200000 << 2;int n, h, w;int Max[N];int MAX(int a, int b){ return a>

2015-04-02 15:05:12 353

原创 HDU_1754_线段树

题意:区间最值问题,线段树模板水题:#include #include using namespace std;const int N = 200000 + 10;int maxnumb[N<<2];int MAX(int a, int b){ return a<b ? b : a;}void build(int l, int r, int rt){ if

2015-03-31 16:49:38 348

原创 HDU_1166_线段树

题意:给你一个数列,让你维护一个区间询问和区间查询,线段树或者树状数组:1.线段树代码:#include #include #include #include using namespace std;const int N =50000 + 100;int sum[N<<2];void bulid(int l, int r, int rt){ if(l ==

2015-03-31 16:46:25 351

原创 HDU_1394_线段树_树状数组

题意:求逆序数,给你n个数,符合ai>aj i1.暴力解法,记录初始序列的逆序数的总个数,每将第一个数放在最后的时候总的数目将增加n-1-a[i]个,将减少a[i]个,所以对于每个数sum += n-1-a[i]-a[i],记录最小的sum,暴力代码:#include #include using namespace std;const int N = 5000 + 5

2015-03-31 16:39:49 353

原创 HDU1506_DP

动态规划写法:n个数,1--n对于每个数i判断左右区间连续且不小于i的个数numb,即对于i,dp[i] = a[i]*numb,然后遍历dp,找出最大值,判断i左右区间连续且不小于i的numb时,可以开两个数组,L和R,注意不要嵌套两重循环,否则后超时下面是AC代码:#include #include using namespace std;const int N = 100000

2015-03-29 22:26:59 346

原创 HDU_1421DP

经典DP问题,先将劳累度排序,相邻相减的平方才是最小的,然后分析:dp[i][j]为前i物品选择了j对最小的疲劳值,对于dp[i][j] 当i = j*2时,则dp[i-2][j-1] + a, 当i>j*2时,dp[i][j] = min(dp[i-1][j], dp[i-2][j-1]+a)#include #include #include #include using nam

2015-03-28 17:02:12 293

原创 HDU_1203_01背包

背包的典型思想,dp[i] i说来惭愧,概率论学的差,竟然没有想到这个条件,看来A题时还需要淡定的思考。贴代码以表决心,以后要好好A题了#include #include #include #include using namespace std;int wei[10011];double dp[10011], val[10011];int main(){ i

2015-03-25 22:40:49 368

原创 HDU1856_More is better

并查集水题,题意将直接或间接是朋友的放在一个房间,问一共需要多少房间,代码:#include #include #include using namespace std;const int MAX = 10000001;int father[MAX], num[MAX];int n;void init(){ for(int i=0; i<MAX; ++i)

2015-03-24 22:40:52 399

原创 HDU_1232通畅工程

并查集求解,有n个城市,一共需要n-1条路,对于每条道路,将两个城市加入并查集,并将现有道路的条数sumb++,最后还需要建立的道路为:n-1-numb。代码:#include #include #include using namespace std;int parent[1001];int n, m;void Init(){ for(int i=0; i<10

2015-03-24 22:00:41 332

原创 HDU1213_并查集

并查集水题,题意:一个人请人吃饭,相互认识的朋友在一张桌子,相互认识的朋友的意思是如果A认识B,B认识C,那么A、B、C是朋友,对于每组输入输出桌子的张数。贴代码:#include #include #include using namespace std;const int MAX = 1002;int M, N, T;int father[MAX];void ini

2015-03-24 21:49:30 1182

原创 HDU1285_拓扑排序

拓扑排序的水题,题意是确定比赛的名次,每一次将输的人的入度加一,然后就是拓扑排序的模板套路了,记住输入的时候可能有重边,贴代码:#include #include #include #include using namespace std;int Map[600][600], Head[600], Hash[600];int main(){ int n, m;

2015-03-23 20:41:16 348

原创 HDU1978_DP

在每一个格子里都有一个能量值,游戏规则是每一步都要消耗一点能量值,只能向下或者向右走,因此对于你所处的每一个格子,对于从这个格子出发可以到达的所有格子都要累加:到达第(i, j)个格子的方法数是dp[i][j], 对于从(i, j)格子可以到达的格子(i+k, j+t), dp[i+k][j+t] += dp[i][j]; 记住取模,此处没有取模。水题~贴代码:#include #inclu

2015-03-22 21:22:45 360

原创 HDU4310贪心

题意:打Dota, 你的队友死了,就你一个人,你需要1Vn,你的攻击只有一点,也就是你打敌方hero一下只能打掉他一滴血,但是你的hp是无限的,打斗是回合制:你打他们中的一个一下,他们所有的英雄打你一下(你掉的血就是他们还活着的hero的总攻击)。贪心思想,你会发现,先干掉 攻击/血量 最大的敌方hero便是本题的贪心策略,所以,对 攻击/血量 降序排序,一个一个的干掉,贴代码:#includ

2015-03-22 11:13:49 1031

原创 HDU5190

杭电的BestCoder  34, 第一题,水题很简单: 题意,找一个电影院使话费最少,由于是团购,所以票的个数可能大于人的个数,水题,直接按照题意排序就好了贴代码:#include #include #include #include using namespace std;int n, m;typedef struct node{ int a, b;}

2015-03-22 11:00:11 373

原创 HDU2159背包

完全背包,升级所需n经验,每个怪对应a经验,b耐久,dp出最大耐久可以打到的最多经验,同时注意最多只能打s个怪:#include #include #include #include using namespace std;const int N = 200;int dp[N], w[N], p[N], Hash[N];int main(){ int n, m,

2015-03-21 15:25:07 384

原创 HDU1283

HDU水题留念,不解释,直接贴代码#include #include #include using namespace std;__int64 R1, R2, R3, M1, M2;int main(){ char ch; while(~scanf("%I64d%I64d", &M1, &M2)) { R1 = R2 = R3 = 0

2015-03-21 15:10:04 442

原创 ACM非递归快速幂

看的别人的文章,在此做个模板,上代码:__int64 quickpow(__int64 x, __int64 n){ __int64 b = 1; while(n > 0) { if(n & 1) b *= x; n >>= 1; x *= x; } return b;}如

2015-03-17 14:36:25 384

原创 输入外挂

C/C++中cin 用来读数据是最慢的,虽然可以自动识别,但是效率低下,在ACM题如果输入数据太大的话用cin肯定会超时,用scanf会比cin快些,但是还有一种输入外挂比scanf更快些,那就是用getchar()来读:inline __int64 Read(){ char ch = getchar(); int f = 1; __int64 x = 0; w

2015-03-17 14:30:34 493

划分树讲解

划分树详解,内有代码和注释,很详细,推荐!

2015-04-13

空空如也

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

TA关注的人

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