自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

帷幕后的文和

acm-icpc斗士

  • 博客(9)
  • 收藏
  • 关注

原创 poj3468(A simple Problem with Integers)(线段树成段增减)

利用懒惰标记使更新延迟到下一次需要更新or询问时。#include <stdio.h>#include <iostream>#include <string.h>#include <algorithm>#include <stdlib.h>using namespace std;#define ms(X) memset(X,0,sizeof(X));typedef long long

2016-06-28 21:35:33 257

原创 hdu1698Just a Hook(线段树+懒惰标记)

这是一道成段更新的典型例题。成段更新需要用到懒惰标记。简单来说就是每次更新的时候先不更新到底,用懒惰标记使更新延迟到下一次要更新or询问时。(P.S. 大数据输出和读取不要用cin,cout,今天手残,没事做,tle,tle,。。。)#include <stdio.h>#include <iostream>#include <string.h>#include <algorithm>

2016-06-28 20:37:22 492

原创 uva442 Matrix chain multiplication(数据结构)

看错题意,以为是给出如ABCDE然后求出最少的策略使乘积次数最少,直到看了别人的代码才回过神来。 其实这道题就和括号匹配那道题差不多,用栈解决。 由于不会用stl,就直接模拟了。(本来说好要学的,结果考试月到来,加上自己懒,已被同学甩得远远的。 人一我百,人十我万。我会坚持下去的,跪着也要走下去)#include <stdio.h>#include <iostream>#include <

2016-06-28 15:27:46 309

原创 hdu1052(田忌赛马题解)

区间dp 状态转移方程 dp(l,r)=max(dp(l+1,r)+cost(l,k),jdp(l,r-1)+cost(r,k)); cost(t,q)是田忌与齐王比赛一局下来的结果#include <stdio.h>#include <string.h>#include <algorithm>#include <stdlib.h>using namespace std;int dp

2016-06-13 20:15:12 642

原创 hdu1575 Tr A(矩阵快速幂)题解

先写一个矩阵乘法,然后应用快速幂即可#include <iostream>using namespace std;typedef long long ll;ll arr[11][11],n;void quick_multipy(ll a[][11],int p){ ll nres[11][11]={0}; for(int i=0;i<n;i++) for(

2016-06-11 19:54:49 252

原创 hdu5187 zhx's contest题解(快速幂快速积)

公式: ans=2^n-2;(n!=1) 用快速幂快速积即可求得答案 显然n==1时,ans=n%p 当p=2时,由公式ans必为0(当然n!=1)“`include using namespace std; typedef long long ll; ll quick_multify(ll a,ll b,ll p) { ll res=0; a%=p; b

2016-06-11 18:58:37 258

原创 poj 1157 little shop of flowers题解

线性dp 状态转移方程 dp[i][j]=max(dp[i-1][k]+dp[i][j],tmp)(此处k为小于j但大于i-1的任意整数)#include <iostream>#include <algorithm>#include <string.h>#include <stdio.h>using namespace std;int dp[110][110];int main(in

2016-06-09 19:40:34 297

原创 hdu1754 i hate it(题解)

这道题果然是i hate it,虽然是线段树的最最基础题,但我tle了30,40发,debug一个月多才知道tle在哪里。 由于我是用纯C写的,没有max函数,我就自己用预处理宏,写了一个,对,tle就在这里,如果你是用c++里面的max就ac了。 我tle的代码#include <stdio.h>#define mMax(X,Y) ((X)>(Y)?(X):(Y))int tree[800

2016-06-03 21:28:28 497

原创 poj2182 lost cows题解(线段树)

这道题如果思路对了就很简单,倒着读数据,然后这道题维护的是区间上未填充元素的个数。#include <stdio.h>int tree[8010<<2],arr[8010],i,n;void build(int tn,int l,int r){ int mid; tree[tn]=r-l+1; if(l==r) return; mid=((r-l)>>1)+l;

2016-06-03 20:10:26 447

空空如也

空空如也

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

TA关注的人

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