本题要求统计给定整数M和N区间内素数的个数并对它们求和。输入格式:输入在一行中给出2个正整数M和N(1<=M<=N<=500)。输出格式:在一行中顺序输出M和N区间内素数的个数以及它们的和,数字间以空格分隔。输入样例:10 31输出样例:7 143注:此题先统计素数,每统计到一个,计数器加1,并进行...
分类:
其他好文 时间:
2014-08-30 19:05:29
阅读次数:
252
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1754思路:线段树入门题目..刚学的,拿来练手。可以当作区间更新点的模板用,另外得注意,这个题用cin必定超时~.....代码: #include #define MAXSIZE 200001using....
分类:
其他好文 时间:
2014-08-30 15:07:29
阅读次数:
246
前言:线段树是一种二叉搜索树,与区间树相似,它将一个区间划分成一些单元区间,每个单元区间对应线段树中的一个叶结点。 对于线段树中的每一个非叶子节点[a,b],它的左儿子表示的区间为[a,(a+b)/2],右儿子表示的区间为[(a+b)/2+1,b]。因此线段树是平衡二叉树,最后的子节点数目为N,即整...
分类:
其他好文 时间:
2014-08-30 15:05:49
阅读次数:
249
题目大意:
给出一串括号,有m个查询(包含a,b)问区间[a,b]之间有多少个匹配的括号
做法:
处理两个数组r[i](代表从1到i之间有多少个已匹配的右括号),l[i](代表从1到i之间有多少个没有匹配的左括号)。我们要算[a,b]之间的匹配的括号数,首先用r[b]-r[a-1],但是遮掩更有可能a到b之间的右括号是在[1,a-1]之间被匹配的,那么再减去l[a-1],但是减去的这一部分中...
分类:
其他好文 时间:
2014-08-30 08:48:09
阅读次数:
210
题目来源:POJ 1442 Black Box
题意:输入xi 输出前xi个数的第i大的数
思路:试了下自己的treap模版
#include
#include
#include
#include
using namespace std;
struct Node
{
Node *ch[2];
int r;
int v;
int s;
Node(){}
Node(int ...
分类:
其他好文 时间:
2014-08-30 00:04:28
阅读次数:
282
http://acm.hdu.edu.cn/showproblem.php?pid=3886
给出一个字符,只含'/','-' ,'\' ,表示着一个数上的各位数字按相应字符上升,不变或下降,问【a,b】区间内这样的数有多少个?
数组很好设,dp[i][j][k]表示处理到第i位,它对应的字符是第j位,它前面的数字是k的种类数。
令我纠结好久的是,我起初设的dp[i][j][...
分类:
其他好文 时间:
2014-08-29 22:46:38
阅读次数:
382
题目大意:D表示在区间x,y内所有的元素扩充一倍;Q表示查询在这个下表以内的数字最多的个数为多少。
如:1,2,3.D 1 3 之后就变成了 1 1 2 2 3 3.Q 1 4 输出 2.
解题思路:每个节点记录两个信息:最大值的个数以及这个点一共有多少个数字。
A simple simulation problem.
Time Limit: 10000/5000 MS (Java/O...
分类:
其他好文 时间:
2014-08-29 22:46:08
阅读次数:
394
9.1(a)list。可以快速插入。(b)deque。支持尾部快速插入和头部快速删除。(c)vector或者deque。9.2list > l;9.3它的范围是该容器的第一个元素和尾元素之后。区间左闭右开。9.4#include#include#include#include#include#inc...
分类:
编程语言 时间:
2014-08-29 18:01:48
阅读次数:
396
好久没写题解了=_= ,整个暑假就没写过,还是决定写写吧,所以挑了这道大水题。 这是标准的莫队算法的问题,但由于可能数据水还是别的什么原因,不用曼哈顿最小生成树也可以过。具体就是按询问区间的左端点分块, 块内按右端点排序,然后暴力…… 真的是暴力,太暴力了,直到AC以后我才相信这么暴力真的可...
分类:
其他好文 时间:
2014-08-28 23:56:56
阅读次数:
488
第一题:能量项链 区间型动态规划 据说这题在当年坑了很多人。f(i, j) 表示从第i个珠子开始合并j个珠子所释放的最大能量。f(i, j) = max{ f(i, k} + f(i+k, j-k) + head(i) * head(i+k) * head(i+j) , 0 0,先做完上面的步骤,然...
分类:
其他好文 时间:
2014-08-28 23:55:06
阅读次数:
275