注意事项(并不完整): (1)i式筛求素数(用bool型数组,大的数int会爆MLE) (2)for(int j = i;j <= n/i;j++) 能除的就不要乘(i*j可能会爆int) (3)快速幂别忘了long long一、memset (40 -> 6亿) 1.int 0x7f一个很大的数(略小于0x7fffffff) 0xaf一个很小的
A 题目描述 有长度为 \(n\) 的数组 \(\{a\}\),若 \(a_i>0\) 则表示 \(p_i\leq a_i\),若 \(a_i<0\) 则表示 \(p_i\geq a_i\) 请问满足上面 \(n\) 个条件的排列个数,答案对 \(10^9+7\) 取模。 \(n\leq 5000\) 解法 首先考虑 \(a_i>0\) 时有两种类似的计数方法,第一种是扫描 \(a_i\),决策
A 题目描述 有 \(n\) 个在 \([0,2^w)\) 内的非负整数,你需要执行下面的操作 \(n-1\) 次,使得剩下的数最小: 选择两个非负整数 \(x,y\),将其合并成一个非负整数 \(z\),其中 \(z=\lfloor\frac{(x|y)}{2}\rfloor\) 选择一个数 \(x\) 将其删去。 \(n\leq 10^5,w\leq 60\) 解法 可以把第一
中心城镇问题 题目描述 给出一个 \(n\) 个点的树,第 \(i\) 个点的权值是 \(a_i\),现在要选择一些点建立据点,要求任意两个据点之间的距离必须大于 \(k\),问选出据点的最大权值和是多少。 \(n\leq 10^6\) 解法 我发现我学不懂长链剖分的原因是指针基础为零,而今天终于把我的心头大患解
说是选做, 其实是板刷 「雅礼集训 2017 Day1」市场 简单线段树练习题。 「雅礼集训 2017 Day1」矩阵 看假题了/dk。 由于这个东西是赋值, 所以最优解一定是把一行给全黑了, 然后再拿这一行去涂色。 然后你再发现, 要构造第 \(i\) 行出来只需要看 \(i\) 这行 \(0\) 的个数以及 \(i\) 列
一、今日题目知识点 函数的概念、程序中的结构(如三目运算符)以及题目中常用的数学函数,如pow()函数,sqrt()函数; 二、题目均已完成 三、遇到的问题 使用函数进行除法的时候,当超过32位存储的最大值时,此种情况要单独讨论: if(a == -2147483648 && b == -1) { return 2147483
371. 两整数之和 int getSum(int a, int b){ return a+b; } 17.01. 不用加号的加法 int add(int a, int b){ return a + b; } 递归乘法 int multiply(int A, int B){ return A * B; } // 递归的我也尝试了下 int multiply(int A, int B){ int max = A>B?A:B;
一、题目 定义字符集为 \(0\sim9,a\sim z,A\sim Z\) 共 \(62\) 种不同的字符,现在给你一个长度为 \(n\) 的字符串。 有 \(m\) 次操作,第 \(i\) 个操作表示把所有 \(x_i\) 的字符变成 \(y_i\),请问在要求每个操作至少执行一次的情况下,最终字符种类的最大值是多少? \(n\leq 1000,m\leq 6
浙大集训day5:C 给出一个\(n\times m\)的矩阵。 询问有多少个子矩阵,满足内部元素和<=k。 #include<bits/stdc++.h> using namespace std; const int maxn=2e5+100; int _; int n,m; long long k; int main () { scanf("%d",&_); while (_--) { scanf("%d%d%lld",&
一、题目 我们认为 \(x\rightarrow y\) 的简单路径是好的,当且仅当路径上的点最小的是 \(x\),最大的是 \(y\) 给出一棵 \(n\) 个点的树,求出好的简单路径条数。 \(n\leq 2\cdot 10^6\) 二、解法 很容易写出暴力点分治,但是因为需要解决二维偏序问题所以是 \(O(n\log^2n)\) 的。 首先考
B.最短路径 题目描述 给定一棵 \(n\) 个节点的无根树,每条边的边权均为 \(1\) 树上有 \(m\) 个互不相同的关键点,从中随机选取 \(k\) 个点打上标记,问任意起点终点,经过所有被标记点的最短路径长度期望是多少。 \(2\leq k\leq m\leq n\leq 2000,m\leq300\) 解法 考虑如果需要走回起点,
一、题目 求 \(n!\) 转成 \(16\) 进制后除去末尾 \(0\) 的最后 \(16\) 位。 \(n<2^{64},T\leq 10\) 二、解法 首先考虑暴力怎么打,我们把所有 \(2\) 的因子提出来之后,剩下的数直接暴力乘法之后自然溢出即可,最后 \(2\) 的因子数模 \(4\) 之后乘上去,转成 \(16\) 进制输出即可。 瓶颈
BaoBao and DreamGrid are playing a card game. Each player has nn cards in the beginning and there are three types of cards: rock, paper, and scissors. The game consists of nn rounds. In each round, BaoBao will first play one of his remaining cards (this c
10.4 H Pro: 转化完后变成给一个01?序列 判断是否可以填入0,1使得这个序列满足不存在长度为\(x\)的连续\(0\)和长度为\(y\)的连续\(1\)。 Sol: 考虑dp dp[i][0/1]考虑了前\(i\)位表示当前以0/1结尾的连续端最短多长。 直接转移即可。
一、题目 校长有一个体积为 \(x\) 的大套子,现在有 \(n\) 条人类,如果套子的体积严格大于人类的体积 \(y\),那么校长就会把这个人类装在套子里,套子的体积就会增加 \(y\) 有下列三种可能的时间: 校长得到了一个大小为 \(x\) 的套子,他想让套子的大小至少变成 \(y\),如果可以输出步数,否则
一、题目 有 \(n\) 堆石子,第 \(i\) 堆石子有 \(a_i\) 个,当前取石子的人可以任取一堆还没有取完的石子,从中取 \([1,x]\) 个。 对于所有 \(x\in[1,n]\),你都需要告诉是先手必胜还是后手必胜。 \(n\leq 5\cdot 10^5\) 二、解法 利用 \(\tt sg\) 函数,把题目做一个简单的转化: \[\forall
Problem A 给一个有向图,\(e_{i,j}\) 表示 \(i,j\) 是否有边。每次操作可以选一个没有删掉的点,将它与它能到达的点全部删掉,问期望多少次能删完。答案对 \(998244353\) 取模,保证图没有自环。 \(1\leq n\leq 1000\) 考虑每个点对期望次数的贡献,根据期望的线性性,对每个点被选的概率求
一、题目 给定一个长度为 \(n\) 的表达式,表达式只出现括号、减号和数字 \(1\sim 9\),设一共有 \(m\) 个减号。 求出把 \(m\) 个减号其中 \(k\) 个替换成加号,\(m-k\) 个替换个乘号的所有表达式之和,答案模 \(1e9+7\) \(n\leq 10^5,m\leq 2500\) 二、解法 首先考虑没有括号怎么做,注意
Problem A 给两个数列 \(a_i,b_i\) ,你要找到一个排列 \(p\) ,使得每个 \(a_i \oplus b_{p_i} =x\) 都相等,其中 \(\oplus\) 表示异或,你要输出所有可能的 \(x\) 。 \(1\leq n\leq 2000,0\leq a_i,b_i \leq 10^9\) 先考虑如何判断一个 \(x\) 是否合法,通过移项:\(a_i\oplus x= b_{p_i}\)
一、题目 有一个长度为 \(n\) 的整数序列 \(a\),你需要回答 \(m\) 个询问,每次给出 \(L,R\),求下列式子的值: \[\sum_{l=L}^R\sum_{r=l}^R(\max_{i=l}^r s_i)\cdot (\min_{i=l}^rs_i) \]\(n,m\leq 10^5\) 二、解法 解法一 猫树分治的进阶版应用,我们把猫叔看作线段树,每次把询问在猫树上
中转站 题目描述 \(Kiana\) 最近兼职起了快递工作,每天早上她都会从家里出发,先到中转站去接今天要送的快递清单,再将快递送到相应的地址去。 可乐城一共有 \(n\) 个地点,\(m\) 条双向道路将这些地点连通,使得任意两个地点之间都能够通过道路相互到达。\(Kiana\) 的家所在地点的编号为
【题意】 【分析】 首先,我们可以得到以下结论: 1.将一个数修改为从未出现过的数字一定不优 2.修改第二次出现的数一定不如修改第一次出现的数优 有了以上两个结论,我们就可以进行恶心的分类讨论了 【代码】 待补充!
【题意】 给定一个长度为n的文章(小写字母),和m个不合法单词,修改文章中每个字母都有$a_i$的代价,问要文章中不存在不合法的单词,最小代价是多少 数据范围:$n\leq2*10^5,m\leq10$ 【分析】 首先,我们可以预处理出来每个位置作为结尾,不包含任何不合法单词的最长的区间pos[i](也就是左端点最
概率期望? NO 计数DP 考场上看到期望后直接弃掉打了暴力。 期望根本没法转移,数据也不大,所以这个题就是在计数。 一个很妙的思想,最大深度要不是挂在2上,要不不是挂在2上。 所以分类计数后DP就很明显了。 因为以二为根的树的状态可以用之前递推出来的以一为根的树的状态。 换句话说,n
2021.9.30 Timeline 4 点起床,北校门口集合,5 点出发 路上断断续续睡觉,清醒后决定听课 11 点左右到达南京,办理住宿 12 点吃早饭 12 点 40 到达培训地址,准备模拟赛 13 点整到 16 点 30 分,模拟赛,题目较为基础,但是一想到自己基础题还不会做就更自闭了 17 点吃饭,等待评测,T1 多测没清空