- 博客(10)
- 收藏
- 关注
原创 线段树系列-pku-3468-A Simple Problem with Integers-区间修改区间求和
一道简单的区间修改区间求和#include#include#include#include#includeusing namespace std;struct seg { int l,r,fa; long long sum,more;}tree[401111];void build(int l,int r,int k) { tree[k].l=l;
2015-12-30 20:21:41 407
原创 线段树系列-hdu-1394-Minimum Inversion Number-单点修改区间求和(求逆序对)
#includeusing namespace std;int a[5555];struct seg { int l,r,v;}tree[20111];void build(int l, int r, int k) { tree[k].l=l; tree[k].r=r; tree[k].v=0; if(l==r) return;
2015-12-29 19:19:07 356
原创 线段树系列-hdu-1698-Just a Hook-区间修改求总和
简单的区间修改求总和#includeusing namespace std;struct seg{ int l, r, v; // v的值如果是-1则说明这条线段不是单色}tree[410000];void build(int l, int r, int k) { tree[k].l = l; tree[k].r = r; t
2015-12-19 20:33:14 498
原创 线段树系列-hdu-1754-I Hate It-单点修改求区间最值
简单的单点修改,求区间最值#include#define max_N 800000using namespace std;int ans; //求和int big; //求最大值struct seg{ int l,r,v,maxn;}tree[max_N];void build(int l,int r,int k) { tree[k].
2015-12-16 23:00:36 1277
原创 线段树系列-hdu-1166-敌兵布阵-单点修改区间求和
基本的单点修改区间求和#includeusing namespace std;int ans=0;struct seg{ int r,l,v;}tree[200000];void build(int l,int r,int k) { // l,r是当前线段k所表示的区间。 tree[k].l=l; tree[k].r=r; tree[k].v
2015-12-16 20:59:30 443
原创 hdu-5596 优先队列
题目大致意思是:有1到n个人,每个人属于A组或B组,每个人都有一个能力值。时间到i秒时第i个人就可以消灭所有前面能力小于他的别组的人。另外,每过c[i]秒,1到c[i]的人就会增加一点能力。问最后剩余人的个数。大致思路:因为每次1到c[i]的人能力值+1可以换成c[i]+1到n的人的能力值-1;所以可以通过前缀和求出每个人所减的能力。最后维护两个优先队列求出剩下的人。#include#i
2015-12-12 20:44:06 322
原创 usaco系列-1.1
1.ride:题意求出两个字符串对应数字乘积mod47是否相等#includeusing namespace std;int main(){ freopen("ride.in","r",stdin); freopen("ride.out","w",stdout); char s1[1000]; char s2[1000]; int len
2015-12-08 17:28:44 297
原创 UVALive 6835 Space Golf-计算几何
题目意思:是在一段长度为d的区域内有许多已知坐标pi和高度hi的障碍物。你要发射一个球经过若干次反弹(越过障碍物)到达终点。反弹次数有限不能超过b,不能正好落在障碍物上,每次碰撞都是理想碰撞,不消耗能量。问最小的出射速度。解题思路:因为限制的反弹次数是有限的,所以枚举每一个反弹次数,然后求出每个区间长度len=d/(b+1);对于每个区间暴力枚举每个障碍物,若有障碍物在区间内就跳过,否则就判断
2015-12-08 16:33:50 525
原创 简单数学题-跑操场
题目大致意思是三个人三个速度v1,v2,v3,操场周长为L问三个人相遇n次需要多少时间 方法很简单,用L/fabs(v1-v2)求第一个和第二个人相遇所需时间同理求第一个和第三个人相遇所需时间。最后求lcm。要注意,除出来的数可能是小数,所以要对这两个数同乘fabs(v1-v2)*fabs(v1-v3)求出最小公倍数后再除掉#includeusing namespace std
2015-12-05 20:39:11 1084
原创 Gym 100499H - cctv - 计算几何
题目大致意思是一个矩形,里面有很多小矩形,小矩形是障碍物,问在四个角上能看到的范围面积。解题思路:因为障碍物只有20个所以取出每个三角形靠近观望点的三个点。然后将这些点去重排序。然后这些点将这个90度角分割开。对于每个区间暴力枚举所有边,看那条边和这个角组成的三角形最小保存。最后将这些值相加即可。基本思路可以概括为将可见范围划分成许多由一个角和对应边组成的三角形来求面积。#includ
2015-12-04 20:52:55 450
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人