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 · 493 阅读 · 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 · 384 阅读 · 0 评论 -
线段树区间修改与查询(求和)
P3372#include<iostream> #include<cstdio> #include<algorithm> #include<cstring> #include<string> #define MAXN 200000 #define LL long long using namespace std; struct H{ LL addi,sum,l,r,len; }st[MAX原创 2016-12-30 14:08:19 · 399 阅读 · 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 · 340 阅读 · 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 · 363 阅读 · 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 · 270 阅读 · 0 评论 -
背包问题的方案数(01)
[题见洛谷](https://www.luogu.org/problem/show?pid=1164#sub) #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #include<cmath> #define LL long long using namespace std; int a[200]; L原创 2016-12-21 15:09:14 · 1081 阅读 · 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 · 525 阅读 · 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 · 260 阅读 · 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 · 220 阅读 · 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 · 294 阅读 · 0 评论