1000 A + B Problem : 没啥好说的 。

1001 又是苹果(模拟): 用数组记录一下索引,交换行列时交换索引即可。

1002 小W的塔防(dp): 记 fi,jf_{i,j}fi,j​ 表示某时间前有 iii 个蓝塔,jjj 个绿塔的答案最大值,滚动时间 O(n3)O(n^3)O(n3) dp。

1003 亮亮的加法(模拟): 进制转换模板。

  • std::reverse( _begin, _end ) 可以翻转数组

1005 xry111的音频传输(数学): 答案是 ⌈log⁡2n⌉\lceil \log_2{n}\rceil⌈log2​n⌉,使用 long long 以防挂精度。

1006 亮亮破密码(期望 + 按位): 考虑每一位对答案贡献,按位异或记录前缀和,按位与、按位或记录前缀极长连续 1, 0。求期望直接除 n2n^2n2 即可。使用 double 会被卡精度,要用 unsiged long long 统计答案。

1008 Josephus环(模拟): 用链表 O(n2)O(n^2)O(n2) 模拟删除过程即可。

1010 最优规则式(枚举): 将式子分成 b−ab-ab−a 与 d−cd-cd−c 两端,分别计算前后缀的答案,枚举分隔点即可。

1012 重复序列(Border): 用 KMP 算法求出反串的 Border,根据循环串的性质,Border 大于串长一半时,其补集即为串的最小循环节,枚举前缀求即可。

1015 无聊的Light Light(贪心): 在保证长度最大时最大化高位。

1016 A + B : 没啥好说的 。

1017 Coderforce上的rating(模拟): 双关键字排序模板。

1019 自然数的秘密(二分答案 + 数论): n!n!n! 的后缀 0 个数为等于 1−n1-n1−n 的因子 555 的个数,二分答案即可。

1020 ACMer去刷题吧(dp): 设 fif_ifi​ 表示某时刻做对了 iii 题的概率,滚动时间,答案是 1−∑i=0k−1fi1-\sum\limits_{i=0}^{k-1}f_i1−i=0∑k−1​fi​。注意排除 -0.0000 的情况。

1021 A Simple Math Problem(数学): 答案是 n4×a2cot⁡(πn)\frac{n}{4} \times a^2\cot(\frac{\pi}{n})4n​×a2cot(nπ​) 。

1022 A Simple Math Problem 2(前缀和): 枚举每个数字 iii 对 f(x)f(x)f(x) 的贡献,发现差分后只有 ⌊ni⌋\lfloor\frac{n}{i}\rfloor⌊in​⌋ 个位置有贡献,所以复杂度为 O(nln⁡n+q)O(n\ln n + q)O(nlnn+q)。 若从 n1/kn^{1/k}n1/k 开始枚举,复杂度为 O(qn1/k+kn)O(qn^{1/k}+kn)O(qn1/k+kn),当 kkk 取 333 时在本题有最小。

1023 IP查询(二分): 直接把端点用 std::vector 存下,然后二分,注意本题卡读入。

1024 简单逆序对(前缀和): 把逆序对的树状数组换成前缀和即可。

1025 梦想庄园(拓扑排序 + dp): 物品依赖构成 DAG,直接拓扑排序转移 dp 即可。

1026 修理OJ(模拟): 模拟累乘,快速幂都不需要。

1027 & 1366 Feibonaqi(矩阵快速幂): 矩阵快速幂模板。

1028 数字工程(dp + 数论): 设 fif_ifi​ 表示将 iii 变成 111 的最小步数,fif_ifi​ 可以类似埃拉托斯特尼筛 O(nlog⁡log⁡n)O(n\log\log n)O(nloglogn) 求出,估计也可以用复杂度更低的方法求出。

1029 数一的逆袭(模拟): 直接 O(nT)O(nT)O(nT) 用 double 模拟乘法求高位,当然用类似快速幂的倍增可以轻松做到 O(Tlog⁡n)O(T\log n)O(Tlogn)。

1030 三数和(枚举): 枚举较小的两个数,判断是否有较大数满足条件。

1031 找规律(找规律 + 前缀和): 规律是 fi,j=i+jgcd⁡(i+j,j)f_{i,j}=\frac{i+j}{\gcd(i+j,j)}fi,j​=gcd(i+j,j)i+j​ ,然后用二维前缀和维护一下和即可。

1032 找规律II(Lucas 定理): 卢卡斯定理模板。

1033 入围校赛(模拟): 模拟题意。

1034 猴子吃桃(枚举): 枚举第几个判断即可。

1035 数独(模拟): 模拟题意。

1036 分配宝藏(Bitset + dp): 经典 01 背包,可以用 std::bitset 优化转移,复杂度 O(Tn2vω)O(\frac{Tn^2v}{\omega})O(ωTn2v​)。

1037 倍流畅序列(枚举): 倍流畅序列即翻转后按位异或全 1 序列,枚举对称中心即可。用 manacher 优化实现可以到 O(n)O(n)O(n)。

1038 裁玻璃(状压dp): 发现问题可以转化为最大独立集,暴力状压复杂度为 O(Tm4n)O(Tm4^n)O(Tm4n) 不可过,考虑枚举补集的子集,复杂度为 O(Tm3n)O(Tm3^n)O(Tm3n),发现可行状态数类似斐波那契,复杂度改良为 O(Tm(3+52)n)≈O(Tm2.61n)O(Tm(\frac{3+\sqrt5}{2})^n) \approx O(Tm2.61^n)O(Tm(23+5​​)n)≈O(Tm2.61n),若枚举子集用高维前缀和优化,则可以做到 O(Tnm2n)O(Tnm2^n)O(Tnm2n)。

1040 简单的游戏(模拟): 求出 A+B+CA+B+CA+B+C 然后求出 A,B,CA,B,CA,B,C 特判即可。

1041 Franky的游戏O(数论): n,mn,mn,m 均为偶数则答案为 222,否则为 111。

1042 另一个游戏(贪心): 排序顺序操作即可。

1043 Boooooom(期望dp): dp 求出每天上不课概率 ppp,答案为 1p−1\frac{1}{p}-1p1​−1,复杂度 O(Tnk)O(Tnk)O(Tnk),可用多项式科技优化到 O(Tnlog⁡k)O(Tn\log k)O(Tnlogk)。

1048 二分图模板测试(二分图匹配): 模板题。

1055 如此遍历(模拟): 递推出下一位置即可。

1056 寻找BOSS(卡塔兰数): 卡塔兰数模板题。

1057 卡尔的技能(Lucas 定理): 答案是 (n+m−1m−1)mod10007{{n+m-1}\choose{m-1}}\bmod 10007(m−1n+m−1​)mod10007 。

1058 找子图(贪心): 考虑每个点的贡献,只加入正贡献的点即可。

1061 A+B of lw(数论): 模拟即可。

1094 2的幂次表示(分治): 将输出二进制分治,用递归模拟实现即可。

1097 焊板子的xry111(递推): fi=fi−1+fi−2+fi−3f_i=f_{i-1}+f_{i-2}+f_{i-3}fi​=fi−1​+fi−2​+fi−3​,用 unsigned long long 即可。

1098 突击数论前的xry111(数论): 筛欧拉函数板子。

1099 A simple problem(2-points): 2-points 模板,枚举右端点,单调转移左端点即可。

1259 A + B problem(模拟): 输出 n−1n-1n−1 即可。

1301 数字计数(搜索): 直接 dfs 是 O(n0.302)O(n^{0.302})O(n0.302) 的。

1308 &1448 求和(枚举): 枚举 A+BA + BA+B 存下,枚举 C+DC + DC+D 统计答案,

  • 1308 卡空间(二分): 把 A+BA+BA+B 用 std::vector 存下,二分统计 C+DC+DC+D 答案。
  • 1448 卡时间(HashTable): 用哈希表存查,需要手写哈希表, std::unordered_map 会被卡空间。

1403 or2?Scum!(容斥): 基础容斥,没啥好说的。

1423 qko 的栈(栈): 套路题,用栈维护最小值即可。

1451 魔法废物再利用炸弹1(分类讨论 + 前缀和):

  1. 如果数组长度为 1,则无解。
  2. 如果数组长度大于 1,且所有数字异或和为 0,则从任意位置分为两段即可。
  3. 其它情况 : 若s所有数字异或和为 x,则我们可以将数组划分成三段 x^x^x,直接找到一个前缀异或为 x 后的 0 即可。

1452 假算法自动机(快速幂): 答案是 q910n\frac{q}{9}10^n9q​10n ,直接模拟即可。

1455 在奇妙的数学王国中遨游 :

  • (分块打表): 把答案前缀和以 10610^6106 为大小分块。
  • (枚举): 发现这种数字仅由 0123 组成,直接枚举复杂度是 O(n0.602)O(n^{0.602})O(n0.602)。

1456 程序设计竞赛(dp): 二维 01 背包模板。

1457 Creeper(模拟): 与经典题 独木桥一样的套路,直接无视碰撞计算每只 Creeper 离开时间即可。

1458 为什么你这么熟练啊(数论): 答案是 ⌊nk⌋\lfloor\frac{n}{k}\rfloor⌊kn​⌋

1461 欢欢爱数数(前缀和): 经典题,记录每个前缀模 kkk 的值即可。

1467 魔法废物再利用炸弹1(贪心): MtOI2019 原题,由于 a⊕b≤a+ba \oplus b \le a + ba⊕b≤a+b ,直接把所有数加起来即可。

1473 PRPRPR(整除分块): 要求 ∑i=1n⌊ni⌋×(nmodi)\sum\limits_{i=1}^{n}\lfloor\frac{n}{i}\rfloor\times(n \bmod i)i=1∑n​⌊in​⌋×(nmodi) 。按 ⌊ni⌋\lfloor\frac{n}{i}\rfloor⌊in​⌋ 整除分块,(nmodi)(n \bmod i)(nmodi) 是等差数列,用求和公式即可。注意中间值不要爆 long long

1476 祖玛 1(枚举): 枚举每个连续段作为插入点统计最大值。也许有类似 Manacher 算法的 O(n)O(n)O(n) 解法。

1478 美丽的建筑(树状数组 + dp): 直接正反两次最长上升子序列即可。

1481 运送货物(tarjan + 拓扑排序): 缩点模板,注意输出方式比较坑。

1482 简单的回文串计数(manacher + 差分): 先用 manacher 求出所有极长回文子串,然后发现每个极长回文子串对答案的而贡献是一个一次函数,所以用二阶差分记录答案。注意本题要求没有行末空格。

1483 音乐游戏(dp + 容斥): 先 O(n2)O(n^2)O(n2) dp 出不一定覆盖整个集合的方案数,然后用组合数容斥掉不满足的方案。

1484 双倍快乐(dfs + 枚举): 每个点改变状态的贡献是价值乘以到根的深度,枚举改变的边计算最大贡献即可。

1485 失败的在线考试(模拟): 按题意模拟,注意使用 scanf

1486 奇怪的梦境(模拟): 按位处理,减去进位的负贡献。

1487 没人比我更懂COVID-19(线性基): 很容易发现字母运算是异或,所以把每个字符串当成二进制数字,构造异或线性基,方案数为 2∣S∣2^{|S|}2∣S∣,∣S∣|S|∣S∣ 表示线性基的秩,由于不能取空集,如果 ∣S∣=n|S|=n∣S∣=n ,答案减一。

1500 你必将如闪电般归来(二分答案): 直接二分答案每次 O(n)O(n)O(n) 计算援军数量。

1501 世界第四(枚举): 按顺序枚举 mex 然后贡献是两端跨过小于 mex 组成的离散极长区间的区间的数量。

1502 老奶奶参加宴会(最短路): 先排序优化建图,然后跑一次单源最短路。

1504 奥尔加的编码(期望 + 分块打表): 由于线性性与对称性,大小为 nnn 的线性基,增加秩的概率为 2n−12n\frac{2^n-1}{2^n}2n2n−1​,期望 2n2n−1\frac{2^n}{2^n-1}2n−12n​ 步,分块打表维护前缀和即可。

1505 签到题(模拟): 按题意模拟。

1506 去音乐会(博弈论 + bfs): 反向拓扑排序然后每个点 bfs 找 0,找不到则自己为 0,flukehn 大爷有更优秀的 O(m)O(m)O(m) 做法。

1517 qko的树据结构(弱化版)(换根dp): 先 dp 出子树到自己的距离和,然后从根递推出所有节点的答案。

1544 一个非常难的题(数论): 设 p(x)p(x)p(x) 为 xxx 质因子的种类数,则答案为 ∑i=1nkp(i)\sum \limits_{i=1}^nk^{p(i)}i=1∑n​kp(i),随便筛筛是 O(nlog⁡log⁡n)O(n\log\log n)O(nloglogn) 的。

1551 崩坏的栈(找规律):

XDUOJ题解合集(待填坑)相关推荐

  1. 2017国庆 雅礼集训 题解合集

    D1 D1 T1:Clique: 我做的题太少啦,这都没看出来.首先,这个式子是 c[i]−c[j]>=dis(i,j) c[i]-c[j] >= dis(i,j),即在数轴上这样的圆,如 ...

  2. [PTA]2021天梯赛-总决赛 L1题解合集

    文章目录 前言说明 题解 人与神 (5 分) 两小时学完C语言 (5 分) 强迫症 (10 分) 降价提醒机器人 (10 分) 大笨钟的心情 (15 分) 吉老师的回归 (15 分) 天梯赛的善良 ( ...

  3. 在 Windows 上测试 Redis Cluster的集群填坑笔记

    redis 集群实现的原理请参考http://www.tuicool.com/articles/VvIZje 集群环境至少需要3个节点.推荐使用6个节点配置,即3个主节点,3个从节点. 新建6个文件夹 ...

  4. 【剑指offer】【leetcode精选题集】【Java】剑指offer题解合集 更新中

    Leetcode题集 [剑指offer][JAVA]面试题第[03]题[数组中的重复数字][HashSet] [剑指offer][JAVA]面试题第[04]题[二维数中的查找][数组] [剑指offe ...

  5. 【leetcode】【题解合集】

    DFS/回溯 以整数拆分为例: 剪枝条件 当和为n时,保存结果 当和大于n时,进行剪枝 在DFS中,同一排的结点是在同一个函数调用中进行处理,如上图中的第一排,1.2.3.4.这4个结点是在第一次函数 ...

  6. QLU寒假训练赛题解合集

    为了节省版面: 1.所有寒假训练赛题解都集中在这一篇里 2.所有题解代码都可以直接点击题目链接查看 0115 A题:签到,输出n+1 B题:签到,从左端点向右找一段和小于0的区间,再从右往左找 C题: ...

  7. ZZULIOJ1001~1100题解合集

    前言: 从本篇文章开始,将开始对ZZULIOJ上前200道基础常见的算法题进行讲解并发表下个人看法,本人能力有限,就当给大家提供一下解题的思路.这些题都是一些C语言中的常见题型,大家千万不要直接复制粘 ...

  8. 【算法笔记】重刷PAT 题解合集

    乙级1001 #include<iostream> using namespace std; int main() {int n;cin >> n;int cnt = 0;wh ...

  9. 第三届“传智杯”全国大学生IT技能大赛(初赛B组)题解合集

    文章目录 A - 课程报名 B - 期末考试成绩 C - 志愿者 D - 终端 E - 运气 总结 A - 课程报名 题目描述 传智播客推出了一款课程,并进行了一次促销活动.具体来说就是,课程的初始定 ...

最新文章

  1. ASP.NET MVC:利用ASP.NET MVC4的IBundleTransform集成LESS
  2. 黑计算机学校给的处分,学校处分通告格式
  3. zabbix二次开发之从mysql取值在运维平台js图表展现
  4. spring-文件上传
  5. 10、Java Swing JComboBox:下拉列表组件
  6. 网络与IO知识扫盲(四):C10K问题、BIO的弊端与NIO的引入
  7. keil debug如何在watch直接修改变量值_零基础学VBA:什么是VBA?如何编写和运行VBA代码?...
  8. java经常会出现异常的是,“Java异常Exception”总结
  9. 收藏一些自己认为好的网站或博客
  10. java语言50到100之间素数和_用JAVA语言编写一程序,求100以内的所有素数
  11. java多线程多态_Java学习之多线程
  12. 编造机中鼠标无法应用标题问题解答
  13. 【重识 HTML + CSS】CSS 选择器
  14. basys2数码管共阳还是共阴_如何判断PLC使用接近开关是PNP还是NPN?
  15. SQL Server 2017 安装过程中的一点说明(有点意思)
  16. Zemax—波长1550nm不在所选玻璃色散公式的有效范围内
  17. 报错:Error in get(“GO2ONT“, envir = GO_DATA) : object ‘GO2ONT‘ not found
  18. make_blobs方法的使用
  19. 集团公司预算控制与网上费用报销系统
  20. 显卡超了100测试软件黑屏,win10更新后,桌面窗口管理器间歇性占用GPU3D 100%,此时系统卡顿,黑屏...

热门文章

  1. [Deeplearning]对比散度算法(CD算法)
  2. Java 按照拼音首字母排序
  3. 去《挪威的森林》之后
  4. VMware 克隆失败,提示指定的虚拟磁盘需要修复【已解决】
  5. webstorm下载与激活
  6. cat全链路监控_全链路监控选型
  7. 华三防火墙NAT配置CLI
  8. OFD文件怎么转PDF?ofd文件转换为pdf格式教程
  9. 重磅!清华大学首个原创虚拟美女学生,“华智冰”唱歌好听到爆
  10. 王者荣耀微信登陆不了服务器,王者荣耀微信区怎么登陆不了 王者荣耀微信区怎么登不上...