c++
河渔船
成长的小垃圾
展开
-
noip2016 d2t2 切蚯蚓
/* 题目描述 本题中,我们将用符号[c]表示对c向下取整,例如:[3.0」= [3.1」=[3.9」=3。 蛐蛐国最近蚯蚓成灾了!隔壁跳蚤国的跳蚤也拿蚯蚓们没办法,蛐蛐国王只好去请神刀手来帮他们消灭蚯蚓。 蛐蛐国里现在共有n只蚯蚓(n为正整数)。每只蚯蚓拥有长度,我们设第i只蚯蚓的长度为a_i(i=1,2,…,n),并保证所有的长度都是非负整数(即:可能存在长度为0的蚯蚓)。 每一秒,原创 2016-12-11 07:58:12 · 511 阅读 · 0 评论 -
P1206 回文平方数
https://www.luogu.org/problem/show?pid=1206#sub#include<iostream>#include<cstring>#include<string>#include<algorithm>#include<queue>#include<vector>#include<cstdio> using namespace std;int B,a[原创 2017-03-15 18:04:56 · 416 阅读 · 0 评论 -
线段树区间修改与查询(求和)
P3372#include<iostream> #include<cstdio>#include<algorithm>#include<cstring>#include<string>#define MAXN 200000#define LL long longusing namespace std;struct H{ LL addi,sum,l,r,len;}st[MAX原创 2016-12-30 14:08:19 · 432 阅读 · 0 评论 -
P1531 I Hate It(线段树)
题见洛谷#include<iostream>#include<cstdio>#include<algorithm>#include<string>#include<cstring>#define MAXN 200000 using namespace std;int a0[MAXN+5],st[MAXN*4+5]; void build(int o,int l,int r){原创 2016-12-23 16:46:07 · 367 阅读 · 0 评论 -
序列操作(线段树,模板)
n个数,m次操作 若a==1,求区间b-c最大值 若a==2,将a[ b ]改为c#include<iostream>#include<cstdio>#include<algorithm>#include<string>#include<cstring>#define MAXN 200000 using namespace std;int a[MAXN+5],st[MAXN*4+5原创 2016-12-23 15:53:46 · 397 阅读 · 0 评论 -
线段树模板
线段树模板//①建树 const int MAXM=50000; //定义 MAXM 为线段最大长度 int a[MAXM+5],st[(MAXM<<2)+5]; // a 数组为 main 函数中读入的内容,st 数组为需要查询的数的信息(如和、最值等),树的空间大小为线段最大长度的四倍 void build(int o,int l,int r){ //传入的参数为原创 2016-12-23 14:40:20 · 280 阅读 · 0 评论 -
背包问题的方案数(01)
[题见洛谷](https://www.luogu.org/problem/show?pid=1164#sub)#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>#include<cmath>#define LL long longusing namespace std;int a[200];L原创 2016-12-21 15:09:14 · 1096 阅读 · 0 评论 -
合并石子,石子合并(环状区间DP)
题见洛谷#include<iostream>#include<cstdio>#include<algorithm>#include<queue>#include<cstring>#include<cmath>using namespace std;int f1[300][300],f2[300][300];//f1[]用于最小值,f2[]用于最大值int s[300];int w[原创 2016-12-21 14:14:05 · 533 阅读 · 0 评论 -
多重背包
#include<iostream>#include<cstdio>#include<cstring>#include<string>#include<queue>#include<vector>#include<algorithm>using namespace std;int n,m;int v[9999],w[9999],s[9999];int f[9999];int m原创 2016-12-14 16:05:46 · 274 阅读 · 0 评论 -
01背包
#include<iostream>#include<cstdio>#include<cstring>#include<string>#include<queue>#include<vector>#include<algorithm>using namespace std;int n,m;int w[210],c[210]; int f[210];int main(){原创 2016-12-04 10:16:58 · 235 阅读 · 0 评论 -
混合背包
主要是:将多重背包拆成01背包。#include<iostream>#include<cstdio>#include<cstring>#include<string>#include<algorithm>#include<queue>using namespace std;int w[3000],c[3000],p[3000],f[3000];int main(){ //f原创 2016-12-14 15:58:05 · 309 阅读 · 0 评论