摘要: 前缀和 对于二维前缀和, 令$b[n][m]$是$\sum_{i=1}^n\sum_{j=1}^ma_{ij}$ 的值, 那么因为容斥原理, 有 $$ b[i][j] = b[i-1][j]+b[i][j-1]-b[i-1][j-1]+a[i][j]. $$ 要是查询$(a,b)..(c,d)$的话 阅读全文
posted @ 2022-11-07 21:23 Micoael_Primo 阅读(38) 评论(0) 推荐(0)
摘要: Idea 注意到中位数只关心数据的相对大小, 因此考虑从目标数字开始往两边求前/后缀和, 接下来使用乘法原理来进行组合即可. 可以用map统计. 第一次感觉只要看一看扩展, 当时忽略了这些扩展之间可以组合. Code #include <bits/stdc++.h> using namespace 阅读全文
posted @ 2022-11-07 11:45 Micoael_Primo 阅读(22) 评论(0) 推荐(0)
摘要: 思路 写出如下的伪代码: 然后实现出来就是这样: #include <bits/stdc++.h> using namespace std; #define MAXN 32005 #define F(i, a, b) for(int i=a; i<=b;i++) #define Fd(i, a, b 阅读全文
posted @ 2022-11-06 11:32 Micoael_Primo 阅读(28) 评论(0) 推荐(0)
摘要: 题目描述 链接:https://ac.nowcoder.com/acm/contest/20960/1004 来源:牛客网 他在不超过t次四舍五入可获得的最高成绩。请注意,他可以选择不使用全部t次机会。此外,他甚至可以选择完全不对成绩进行四舍五入。 在这个问题中,使用经典的舍入规则:将数字四舍五入到 阅读全文
posted @ 2022-11-06 11:31 Micoael_Primo 阅读(58) 评论(0) 推荐(0)
摘要: 题目描述 链接:https://ac.nowcoder.com/acm/contest/20960/1006 来源:牛客网 vigoss18是一个强烈的强迫症患者,他的代码都符合下面这些规则: 1.所有的注释都是/**/风格的,两个星号中间的内容为注释内容,需要把这个符号和里面的内容全部去掉 2.代 阅读全文
posted @ 2022-11-06 11:30 Micoael_Primo 阅读(73) 评论(0) 推荐(0)
摘要: 思路 因为有很多的相似部分不妨用define定义一下, 会很好. Code #include <bits/stdc++.h> using namespace std; #define MAXN 32005 #define F(i, a, b) for(int i=a; i<=b;i++) #defi 阅读全文
posted @ 2022-11-06 11:30 Micoael_Primo 阅读(19) 评论(0) 推荐(0)
摘要: 观察 根据手玩样例可以发现睡先造出来0对方谁就失败. 同样也可以想到在一棵树上进行操作, 从节点出发, 转移看的是当前是谁在执掌. 自底向上的判定, 同样可以证明出来只有$a[0]\leq\min{a[1]..a[n]}$的情况是Bob, 否则就是Alice. Code int a[MAXN]; v 阅读全文
posted @ 2022-11-06 11:27 Micoael_Primo 阅读(67) 评论(0) 推荐(0)
摘要: 前置知识 (1) 求两条线段的交点 方法1, 运用高中的解析几何知识求. 方法2, 运用向量点积求. 考虑向量叉乘。若 $\vec a\times\vec b>0$, 那么 $\vec b$在 $\vec a$ 的逆时针方向;若叉积小于 $0$,那么 $\vec b$在 $\vec a$ 的顺时针方 阅读全文
posted @ 2022-10-30 21:44 Micoael_Primo 阅读(197) 评论(0) 推荐(0)