1798: [Ahoi2009]Seq 维护序列seq 题目:传送门 题解: 好题!毒瘤恶心题! 有打过线段树lazy的经验之后其实并不难,也就加niang个lazy标记死磕代码咯 吐槽:update先加后乘WA...反过来...A了 代码: ...
分类:
其他好文 时间:
2018-03-10 11:53:58
阅读次数:
148
http://www.lydsy.com/JudgeOnline/problem.php?id=1801 https://www.luogu.org/problemnew/show/P2051 这次小可可想解决的难题和中国象棋有关,在一个N行M列的棋盘上,让你放若干个炮(可以是0个),使得没有一个炮 ...
分类:
其他好文 时间:
2018-03-03 18:22:51
阅读次数:
171
【题意】给定n个点的树,每个点初始权值为1,m次操作:1.x到y的点加值,2.断一条边并连一条边,保证仍是树,3.x到y的点乘值,4.x到y的点权值和取模。n,m<=10^5。 【算法】Link-Cut Tree 【题解】区间加和区间乘标记的处理:【BZOJ】1798: [Ahoi2009]Seq ...
分类:
其他好文 时间:
2018-03-02 16:42:04
阅读次数:
186
老坑了。 之前比较困然后没调出来,之前比较颓不想调毒瘤题。 做过类似的splay题,然后这题没啥好说的,开LL。 ...
分类:
其他好文 时间:
2018-02-27 13:21:03
阅读次数:
168
BZOJ_1798_[AHOI2009]维护序列_线段树 题意:老师交给小可可一个维护数列的任务,现在小可可希望你来帮他完成。 有长为N的数列,不妨设为a1,a2,…,aN 。有如下三种操作形式: (1)把数列中的一段数全部乘一个值; (2)把数列中的一段数全部加一个值; (3)询问数列中的一段数的 ...
分类:
其他好文 时间:
2018-02-21 19:21:40
阅读次数:
155
题解:DP一下 每一行为阶段 发现只有3种本质不同的列,即已经放了0,1,2三个棋子的列 ...
分类:
其他好文 时间:
2018-02-20 12:22:51
阅读次数:
179
看到这种题,要么猥琐数学题,要么DP,还能搞搞什么矩乘什么的。 然后这题就是硬刚DP。很容易看出每行每列的棋子数都不超过2吧 f[i][j][k]表示枚举到第i行,有j列有1个棋子,有k列有2个棋子。然后m-j-k就可以的到没放的多少列吧。 枚举每一行,分六种情况。 1、这一行不放 2、放一个,放在 ...
分类:
其他好文 时间:
2018-02-13 13:31:35
阅读次数:
178
Description 在N行M列的棋盘上,放若干个炮可以是0个,使得没有任何一个炮可以攻击另一个炮。 请问有多少种放置方法,中国像棋中炮的行走方式大家应该很清楚吧. Input 一行包含两个整数N,M,中间用空格分开. Output 输出所有的方案数,由于值比较大,输出其mod 9999973 S ...
分类:
其他好文 时间:
2018-02-13 13:31:15
阅读次数:
189
"题目链接" cpp //注意取模! include include using namespace std; const int N=1e5+5; int n,mod,Sum[N 1)) aTag[rt]%mod)%mod; Sum[rt 1) aTag[rt]%mod)%mod; aTag[rt ...
分类:
其他好文 时间:
2018-02-12 15:10:52
阅读次数:
153
"题目链接" cpp / 每行每列不能超过2个棋子,求方案数 前面行对后面行的影响只有 放了0个、1个、2个 棋子的列数,与排列方式无关 所以设f[i][j][k]表示前i行,放了0个棋子的有j列,放了1个棋子的有k列,则放了2个棋子的为(m j k)列 则放棋子一共可分为6种情况 不放棋子:1.f ...
分类:
其他好文 时间:
2018-02-12 15:10:44
阅读次数:
158