题目链接:POJ 2886 Who Gets the Most
Candies【题目】N个孩子顺时针坐成一个圆圈,从1~N编号,每个孩子手中有一张标有非零整数的卡片。第K个孩子先出圈,如果他手中卡片上的数字A>0,下一个出圈的是他左手边第A个孩子。A0,
因为这个人出去了,那么后面的人的编号都会先减...
分类:
其他好文 时间:
2014-05-19 10:25:12
阅读次数:
193
题目链接:POJ 2828 Buy Tickets【题意】给了你 n(1 7 #include
8 #include 9 using namespace std;10 const int MAX = 200005;11 12 int pos[MAX],
val[MAX], ans[MAX];13.....
分类:
其他好文 时间:
2014-05-19 10:10:34
阅读次数:
282
线段树
#ifndef LINETREE_H_INCLUDED
#define LINETREE_H_INCLUDED
typedef struct Node
{
int i, j; // 表示线段树区间[i, j]
int cover; // 表示区间被覆盖的次数
stru...
分类:
其他好文 时间:
2014-05-16 01:54:46
阅读次数:
234
Problem Description
很多学校流行一种比较的习惯。老师们很喜欢询问,从某某到某某当中,分数最高的是多少。
这让很多学生很反感。
不管你喜不喜欢,现在需要你做的是,就是按照老师的要求,写一个程序,模拟老师的询问。当然,老师有时候需要更新某位同学的成绩。
Input
本题目包含多组测试,请处理到文件结束。
在每个测试的第一行,有两个正整数 N...
分类:
其他好文 时间:
2014-05-15 20:23:07
阅读次数:
287
线段树维护的是区间有多少个空位置,每次查询第X个空位置在哪,sum[rt]>=X就向左区间找,sum[rt]
#include
#include
#include
using namespace std;
#define lson l , m , rt << 1
#define rson m + 1 , r , rt << 1 | 1
const int maxn = 55555;
int...
分类:
其他好文 时间:
2014-05-15 20:19:48
阅读次数:
256
和上一题一样,寻找第K个位置,只不过需要处理一下下一个位置在哪,画图看看就知道了。
#include
#include
#include
using namespace std;
#define lson l , m , rt << 1
#define rson m + 1 , r , rt << 1 | 1
const int maxn = 30000+5;
int sum[maxn<<...
分类:
其他好文 时间:
2014-05-15 20:07:28
阅读次数:
262
Problem Description
C国的死对头A国这段时间正在进行军事演习,所以C国间谍头子Derek和他手下Tidy又开始忙乎了。A国在海岸线沿直线布置了N个工兵营地,Derek和Tidy的任务就是要监视这些工兵营地的活动情况。由于采取了某种先进的监测手段,所以每个工兵营地的人数C国都掌握的一清二楚,每个工兵营地的人数都有可能发生变动,可能增加或减少若干人手,但这些都逃不过C国的监视...
分类:
其他好文 时间:
2014-05-15 18:36:59
阅读次数:
208
这题那时怎么想就是想不出来……而且今晚没有多大状态,自己都晕了……一题没做出来……
baoge解释好久才懂……唉……线段树,树状数组用得还是不够熟啊……
WA了二发,才知道二分错了,二分好久不用,老是出错了现在……
#include
#include
#include
#include
#define sca(a) scanf("%d",&a)
#define mem(a,b) memset...
分类:
其他好文 时间:
2014-05-15 03:30:49
阅读次数:
223
题目地址:http :// www . lydsy . com / JudgeOnline / problem . php ? id = 3531
题目大意:见原题。
算法讨论:树链剖分。对于每种宗教开一棵线段树即可。
Code:
#include
#include
#define N 3000000
#define M 30000000
#define oo 0x7f7f7f7f
...
分类:
其他好文 时间:
2014-05-14 20:17:47
阅读次数:
393
题目连接:http://poj.org/problem?id=1436
题意:给一些线段,每个线段有三个值y1, y2, x代表起点为(x, y1),终点为(x, y2)的线段。当从一个线段可以作水平线到另一个线段并且不穿过其他线段时,就称这两个线段时水平可见的。当三个线段可以两两水平可见,就称为形成一个线段三角。问:在这些线段中有多少个这样的线段三角?
分析:可以把每条线段看做是一个点,如果...
分类:
其他好文 时间:
2014-05-14 15:27:25
阅读次数:
282