#include
#include
#include
using namespace std;
const int MAXN = 1 << 17;
struct SegTree {
int n, m;
int a[MAXN + MAXN];
static int L(int i) { return i << 1;...
分类:
编程语言 时间:
2015-07-20 10:54:42
阅读次数:
189
题意:给出一个区间,求这个区间里面素数的个数这道题wa了好多次---是因为add操作没有写对每次更新的时候,应该先判断没有加上y是不是质数,加上了y是不是质数如果从质数变成不是质数,那么add(x,-1)如果从不是质数变成是质数,那么add(x,1)另外还pe了,,printf("\n")就不对,p...
分类:
编程语言 时间:
2015-06-23 09:53:40
阅读次数:
127
题意:给定mxn的棋盘,要往其中放d枚棋子,其中,一枚棋子的上下左右四个位置不能再放棋子。求所有合法的放置状态 ( 0= n , 这个递推棋盘就有 m行 ,每行至多有 2^n-1个状态数。其实,没有这么多!按照题意,每个1的上下左右不能有1。对于一行,只知左右,所以把有连续1的状态排除. t为剩下的...
分类:
其他好文 时间:
2015-05-05 23:47:38
阅读次数:
188
解题报告 之 HOJ 2816 Power Line 最大流 二分...
分类:
其他好文 时间:
2015-04-24 09:05:28
阅读次数:
129
Jerry是一家公司销售部门的经理。这家公司有很多连锁店,编号为1,2,3,... Jerry每天必须关注每家连锁店的商品数量及其变化,一项很乏味的工作。在连锁店比较少的时候,Jerry喜欢计算编号在[i,j]区间内的连锁店中商品数量为素数的有多少家,但是现在连锁店的数量急剧增长,计算量很大,Jerry很难得出结果。
输入格式
题目有多组输入。每组输入第一行有三个整数:C 连锁店的数量...
分类:
编程语言 时间:
2015-04-12 10:44:28
阅读次数:
188
//hoj 2662 Pieces Assignment
//有一个n*m的棋盘(n、m≤80,n*m≤80)要在棋盘上放k(k≤20)个棋子,使得任意两
//个棋子不相邻(每个棋子最多和周围4个棋子相邻)。求合法的方案总数。
//
//算是另一个状态压缩dp入门吧
//dp[i][S][j]表示第i行的棋子状态是S(整数的二进制形式,比如5为
// ...101,省略号表示前导0,那一位上是1就...
分类:
其他好文 时间:
2015-04-10 18:09:07
阅读次数:
296
题目链接:HOJ 2275题意分析:给你一个大小为50000的数组a,要求在1秒内求出数组中满足{ i < j < k , ai ak }的组合数。(0 <= ai <= 32768)解题思路:虽然数组很大,但是数组里的数很小啊,所以桶排一下,然后树状数组求和就行了:
首先我们已经在HDU 1541这题中学会了怎么求在ai前面比ai小的数的量了,那么这题就是求在ai前面比ai小的数的...
分类:
编程语言 时间:
2015-03-29 10:52:13
阅读次数:
146