题解【2.23考试T2】str】的更多相关文章

2. str [题目描述] 这是一道传统题,源代码的文件名为 str.cpp/c/pas. 构造 n 个 01 字符串 S1...Sn,使得对于任意 i≠j,Si 不是 Sj 的前缀.在最小化串长和的前提下,求方案数,模 1,000,000,007. [输入格式] 从 str.in 中读入. 仅一行,一个不小于 2 的正整数 n.[输出格式] 输出到 str.out 中. 仅一行,一个非负整数,表示方案数对 1,000,000,007 取模后的结果.[输入样例 A]3[输出样例 A]12[输入样…
5.23考试总结(NOIP模拟2) 洛谷题单 看第一题第一眼,不好打呀;看第一题样例又一眼,诶,我直接一手小阶乘走人 然后就急忙去干T2T3了 后来考完一看,只有\(T1\)骗到了\(15pts\)[尴尬\(.jpg\)] \(T1\)P3322 [SDOI2015]排序 背景 说实话,看见这题正解是dfs的那一刻,我人都傻了[流泪.jpg] 在讲这题的时候赵队@yspm 类比了线段树的思想%%%%%,在食用本篇题解时可以想一下 解题思路 最基本的一个思想:结果与操作的顺序无关,因为在更换的时候…
3. val[题目描述] 这是一道传统题,源代码的文件名为 val.cpp/c/pas. 有一个值初始为 0,接下来 n 次你可以令其在之前基础上+2 或+1 或-1.你需要保证,这个值在整个过程中达到的最大值减去达到的最小值不大于 k,求方案数,模 1,000,000,007.[输入格式] 从 val.in 中读入. 仅一行,两个空格隔开的正整数 n 和 k.[输出格式] 输出到 val.out 中. 仅一行,一个非负整数,表示方案数对 1,000,000,007 取模后的结果.[输入样例 A…
1. div[题目描述] 这是一道传统题,源代码的文件名为 div.cpp/c/pas. 给定一棵树,你要判断是否存在一条边,使得割掉这条边后,这棵树被分成了点数相等的两部分,并且如果存在,请你找到这条边.[输入格式] 从 div.in 中读入. 第一行,一个正整数 n. 接下来 n-1 行描述树的形态,每行两个空格隔开的正整数 u 和 v,表示树中有一条连接 u 号点和 v 号点的边.保证数据合法.[输出格式] 输出到 div.out 中. 仅一行,一个正整数 ans 表示要割掉给出的第 an…
题目传送门 题目大意 见题面. 思路 本来以为zcx.pxj变强了,后来发现是SPJ出问题了...考试的时候感觉有点人均啊...结果自己还是只想出来一半. 我们假设 \(f(x)=(\lfloor\frac{2x}{2^n}\rfloor+2x)\pmod{2^n}\),那么我们可以看出 \(f(x)\) 实际上就是 \(x\) 把第一位提到最后一位,那么我们就可以想到 \(f(a\otimes b)=f(a)\otimes f(b)\)(虽然我考试的时候就是这里没有想到). 考虑原问题,我们不…
删区间 题意: 给出一个长度为…
题目背景 无 题目描述 数轴上有 n 只青蛙,分别编号为 1 到 n.青蛙 i 的初始位置的坐标为 xi. 它们准备进行如下形式的移动:每轮包括 m 次跳跃,第 i 次跳跃由青蛙 ai(1 < ai < n) 执行.青蛙 ai 会从青蛙 ai − 1 和青蛙 ai + 1 中等概率地选一 只,假设选出的青蛙所在的位置为 p,那么青蛙 ai 会跳到它当前位置关于 p 的 对称点. 青蛙们会连续进行 k 轮这样的移动.请你对每只青蛙,求出它最终坐标的 期望值. 输入输出格式 输入格式: 第一行为一…
69. Sqrt(x) 题目 分析,题目实现求一个int数的平方根,最暴力的算法就是逐个遍历,从1开始到x,判断是否有一个数i,其中满足i*i<=x,并且(i+1)*(i+1)>x;这个算法发虽然简单,但是效率不高.其实,按照暴力算法的思想,我们可以联想到在一个已经排好序的数组中查找一个数,该数正好满足上面的条件,因此可以采用二分查找的思想.代码如下: class Solution { public: int mySqrt(int x) { ]={,,,,,,,,,}; ) return a[…
$ \color{#0066ff}{ 题目描述 }$ 一天,olinr 在 luogu.org 刷题,一点提交,等了一分钟之后,又蛙又替. olinr 发动了他的绝招,说:"为啥啊???"此时 leigehhh 拿着 6 个 map 走了过来,说: "你这个维护一个破(pre)就行了啊" olinr 恍然大悟,问 GMPotlc,"琛哥你还有 D 吗我要 维护一个 D". olinr 从 GMPotlc 那里得到了一块 n*m 大小的 D,用来种…
\(\color{#0066ff}{题解 }\) 可以发现, 数据范围中的n特别小,容易想到状压 可以想到类似于状压DP的思路,按列进行转移 那么应该有3维,\(f[i][j][k]\)代表到第i列,j的每一位表示这一行有多少连续的男生,k表示当前有多少列全是男生,的方案数 看到m的范围,我们肯定是要找一个\(O(logm)\)的东西加速转移,自然是矩阵加速 然后我们来看看有多少个状态,看看是否可行 j有\(p^n\)个,k有q个(用矩阵转移第一维自然不需要) 那么状态数依然达到了一个\(p^n…