题目大意:给定圆弧上的一些点,求有多少个矩形
矩形的对角线一定是直径 所以问题转化为求直径 若直径数量为x 则答案为C(x,2)
这东西用不用啥数据结构维护一下……手贱去看了下数据范围……
其实线性做法巨好写 为何看到那么多版本都是O(n^2)的
#include
#include
#include
#include
#define M 30
using namespace std...
分类:
其他好文 时间:
2014-11-21 16:15:37
阅读次数:
139
题目大意:给定一个棋盘,放置一些炮,要求任意两个炮不能互相攻击,求方案数对p取模的值
首先任意两个炮不互相攻击等价于一条线上最多只能有两个炮
直接状压DP的话是50分
考虑到每一列都是等价的 那么我们可以直接递推
令f[i][j][k]为前i行有j列有一个炮 k列有两个炮
那么讨论
这行不放炮 方案数为f[i-1][j][k]
在原先没有炮的列放炮 方案数为f[i-1][j-1][k...
分类:
其他好文 时间:
2014-11-19 01:56:35
阅读次数:
158
线段树很长时间没有写了。。。于是蒟蒻竟然不会了。。。这棵线段树要维护两个lazy tag:1、乘的倍数2、加的数字每次更新的时候都要注意运算符优先级就可以了。 1 /************************************************************** 2 .....
分类:
其他好文 时间:
2014-10-25 21:18:22
阅读次数:
221
??
题目:点击打开链接
大意:一个数组,三个操作,第一种是区间[a,b]每个数乘乘,第二种是区间[a,b]每个数加c,第三种是查询[a,b]区间的和并对p取摸。
两种操作就不能简单的只往下传标记。每次传乘法标记时,要把加法标记同时乘上乘法标记,例如某个区间先进来一个加法标记add,之后又进来一个乘法标记mul。
那么结果为(x + add) * mul = x * mul + add ...
分类:
其他好文 时间:
2014-10-15 18:19:01
阅读次数:
287
题目大意:维护一个序列,提供三种操作:
1.将区间中每一个点的权值乘上一个数
2.将区间中每一个点的权值加上一个数
3.求一段区间的和对p取模的值
2631的超^n级弱化版,写2631之前可以拿这个练练手。。。
线段树区间修改,让学校的大神指导了一下ZKW的区间修改方法,很好理解,但是代码还是快不了。。。回头再改改代码吧 可能是我写的太渣了
#include
#include
#inc...
分类:
其他好文 时间:
2014-09-28 16:13:02
阅读次数:
184
题目大意:维护一个序列,能够区间加,区间乘,然后去...
分类:
其他好文 时间:
2014-09-26 11:49:58
阅读次数:
1018
暴力枚举。 1 #include 2 #include 3 using namespace std; 4 int n,a[101],sum[101],half,ans; 5 int query(const int &A,const int &B) 6 { 7 int x=max(A,B),y...
分类:
其他好文 时间:
2014-09-13 21:21:25
阅读次数:
284
1801: [Ahoi2009]chess 中国象棋Time Limit: 10 SecMemory Limit: 64 MBSubmit: 765Solved: 435[Submit][Status]Description在N行M列的棋盘上,放若干个炮可以是0个,使得没有任何一个炮可以攻击另一个炮...
分类:
其他好文 时间:
2014-09-10 14:05:20
阅读次数:
255
1800: [Ahoi2009]fly 飞行棋Time Limit:10 SecMemory Limit:64 MBSubmit:773Solved:628[Submit][Status]Description给出圆周上的若干个点,已知点与点之间的弧长,其值均为正整数,并依圆周顺序排列。 请找出这些...
分类:
其他好文 时间:
2014-08-13 18:03:57
阅读次数:
224
1797: [Ahoi2009]Mincut 最小割Time Limit:10 SecMemory Limit:162 MBSubmit:1072Solved:446[Submit][Status]DescriptionA,B两个国家正在交战,其中A国的物资运输网中有N个中转站,M条单向道路。设其中...
分类:
其他好文 时间:
2014-07-17 22:04:53
阅读次数:
543