ZR#985】的更多相关文章

ZR#985 解法: 可以先假设每个区间中所有颜色都出现,然后减掉多算的答案.对每种颜色记录它出现的位置,则相邻两个位置间的所有区间都要减去,时间复杂度 $ O(n) $ . 其实可以理解为加法原理的逆过程,即减法原理. #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #include<cmath> using namespace std; #de…
第一部分:C9高校.985和211.双一流 C9高校,包括:清北.复交.浙南.中科大西交大和哈工大.1998年5月4日,时任国家主席江.泽.民在庆祝北京大学建校100周年大会上代表中国共.产.党和中华人民共和国中央人民政府向全社会宣告:"为了实现现代化,我国要有若干所具有世界先进水平的一流大学."1999年,国务院批转教育部<面向21世纪教育振兴行动计划>,"985工程"正式启动建设.http://baike.baidu.com/link?url=cQ6…
题目链接:http://acm.zzuli.edu.cn/zzuliacm/problem.php?cid=1157&pid=2 Description 985走入了一个n * n的方格地图,他已经知道其中有一个格子是坏的.现在他要从(1, 1)走到(n, n),每次只可以向下或者向右走一步,问他能否到达(n,n).若不能到达输出-1,反之输出到达(n,n)的方案数.   Input 第一行输入一个整数t,代表有t组测试数据. 每组数据第一行输入三个整数n,x,y,分别代表方格地图的大小以及坏掉…
http://codeforces.com/contest/985/problem/C C. Liebig's Barrels time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output You have m = n·k wooden staves. The i-th stave has length ai. You have to as…
package y2019.Algorithm.array; /** * @ProjectName: cutter-point * @Package: y2019.Algorithm.array * @ClassName: SumEvenAfterQueries * @Author: xiaof * @Description: 985. Sum of Even Numbers After Queries * * We have an array A of integers, and an arr…
ZR#1005 解法: 题解给了一个建图跑最短路的做法,但好像没有必要,因为 $ m $ 没有用,所以直接上完全背包就行了. CODE: #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #include<cmath> #include<bitset> using namespace std; #define LL long long #…
ZR#1004 解法: 对于 $ (x^2 + y)^2 \equiv (x^2 - y)^2 + 1 \pmod p $ 化简并整理得 $ 4x^2y \equiv 1 \pmod p $ 即 $ 4x^2 $ 和 $ y $ 互为逆元时统计答案即可 CODE: #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #include<map> usin…
ZR#1009 解法: 因为无敌的SR给了一个大暴力算法,所以通过打表发现了了一些神奇的性质,即第一行和第一列的对应位置数值相等. 我们可以通过手算得出 $ F(n) = \frac{n(n + 1)(n + 2)}{6} $ 然后就可以 $ O(1) $ 求出 $ ans = F(n) * F(m) $. CODE: #include<iostream> #include<cstdio> #include<cstring> #include<algorithm&…
ZR#1008 解法: 直接预处理出来执行完一个完整的串可以到达的位置,然后算出重复的次数直接乘在坐标上,最后处理一下余下的部分就行了. CODE: #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #include<cmath> using namespace std; #define LL long long #define N 5050 cha…
ZR#1015 解法: 我们需要求得, $ g_i $ 表示长度为的最长不下降子序列个数. 设 $ f_{i,j} $ 表示统计第前$ i $ 个数字,得到最长不下降子序列末端为 $ j $ . 显然这个状态可以从前面所有转移过来. 树状数组优化一下. 考虑到在 $ g_i $ 状态下,我们可以以任意顺序删去个 $ n-i $ 数,则长度为 $ i $ 的最长不下降子序列方案数为 $ g_i(n - i) !$ 但是,不能保证它在成为最长不下降子序列时就停止删数. 不合法方案数为 $ g_{i+…