小Z的AK计划
小Z的AK计划题目描述在小 Z 的家乡,有机房一条街,街上有很多机房。每个机房里都有一万个人在切题。小 Z 刚刷完 CodeChef,准备出来逛逛。 机房一条街有 $n$ 个机房,第 $i$ 个机房的坐标为 $x_i$ ,小 Z 的家坐标为 $0$。小 Z 在街上移动的速度为 $1$,即从 $x_1$ 到 $x_2$ 所耗费的时间为 $|x_1 - x_2|$。 每个机房的学生数量不同,ACM 题目水平也良莠不齐。小 Z 到达第 $i$ 个机房后,可以花 $t_i$ 的时间想题,然后瞬间 AK;当然,也可以过机房而不入。 小 Z 现在只有 $m$ 个单位时间,之后他就该赶着去打 Codeforces 了。现在他想知道自己最多能在多少个机房 AK,希望你帮帮他。 对于 $100%$ 的数据,$1 \leq n \leq 10^5$,$0 \leq m,x_i \leq 10^{18}$,$0 \leq t_i \leq 10^9$。 分析依题意模拟即可 首先对每个机房的 $x$ 进行一个排序。 显而易见, AK的个数与选择了那些机房无关。 注意到,每一个机房之间相互独立,可以贪心解...
【模板】康托展开
【模板】康托展开题目描述求 $1\sim N$ 的一个给定全排列在所有 $1\sim N$ 全排列中的排名。结果对 $998244353$ 取模。 对于$100%$数据,$1\le N\le 1000000$。 分析感觉康拓展开有点数位dp的影子捏。 懒得写了 12345678910111213141516171819202122232425262728293031323334353637383940414243444546#include <bits/stdc++.h>#define int long longusing namespace std;const int N = 1e6 + 5;const int mod = (114514+114514)*((1+1)*4*514+((11+4)*(5-1)*4+1-14+5+14))+(114514+(114*51*4+(11*45*(1+4)+1*14+5*14)));int n, ans;int fac[N], a[N];struct bitree{ int c[N], res; inli...
[P6225](https://www.luogu.com.cn/problem/P6225)异或橙子
P6225异或橙子题意一个长度为 $n$ 的序列,每个数有一个初始值 $a_i$,维护以下 $q$ 个操作: 单点修改 给定区间 $[l, r]$ 求其所有子区间的异或和 对于所有数据,$0\le a_i\le 10^9,1\le n,q\le 2\times 10^5$ 分析01-枚举对于每一次询问,暴力枚举其所有子区间,时间复杂度 $O(qn^2)$ ,无法接受,故尝试分析特殊性质。 02-特殊性质考虑到运算符为异或,而异或运算有以下性质: x ^ x = 0 x ^ 0 = x 得到启发: 如果所有子区间中一个数出现了偶数次,那么这个数不影响答案。反之,若出现奇数次,则计算答案。 03-正解考虑一个长度为偶数区间 $[a_1,\ldots ,a_4]$ 的所有子区间,统计每一个数的操作次数: 区间长度 $a_1$ $a_4$ $a_3$ $a_4$ 1 1 1 1 1 2 1 2 2 1 3 1 2 2 1 4 1 1 1 1 总计 4 6 6 4 发现每一个数都出现了偶数次,答案为 $0$ 。 显而易见...
markdown
Written with StackEdit中文版. markdown这里是README
フェーン現象 (Foehn Phenomena)
フェーン現象 (Foehn Phenomena)题目简述你知道$N+1$个地点的海拔$A_i$,编号为$0 \dots N$,有风从$0$吹向$N$,想让你求出地点$N$的风的温度. 保证$A_0=0$ 规则: 如果$A_i=A_{i+1}$风的温度不变. 如果$A_i>A_{i+1}$由于海拔降低,风的温度会上升$(A_i-A_{i+1})\times T$度 如果$A_i<A_{i+1}$由于海拔升高,风的温度会下降$(A_{i+1}-A_i)\times S$度 输入格式:从标准输入中读入下面的数据. 第一行输入包括四个被空格隔开的整数$N,Q,S,T$.这表示JOI先生在地点$N$有一所房子,有$Q$次地壳运动,海拔每上升1米的话,风的温度会降低$S$度,海拔每下降一米的话,风的温度会上升$T$度. 接下来的$N+1$行中第$i$行$(1\leq i\leq N+1)$包含一个整数$A_{i-1}$,表示地壳运动前地点$i-1$的海拔高度. 接下来的$Q$行中第$j$行$(1\leq j\leq Q)$包括三个被空格隔开的整数$L_j...
万能的宏
万能的宏在调试代码的时候,如果想一次性输出好多变量的值和它们对应的名字,又不行写太长的printf,怎么办? 1234567891011121314151617181920212223namespace DEBUG { template <typename T> void _debug(const char* format, T t) { cerr << format << '=' << t << endl; } template <class First, class... Rest> void _debug(const char* format, First first, Rest... rest) { while (*format != ',') cerr << *format++; cerr << '=...