第一次来 B 组做,虚的很

T1: 容斥原理

比赛时也打了个大致,但挂了,只有 50 分。

赛后重构了一下代码,AC

\(UPDATE:2020/12/13\ \ \ 14:10\)

思路:

像前缀和一样,先求出 [1,r] 的个数,在求出 [1,l-1] 的个数,最后相减

求法就是典型的容斥原理,用深搜来看第 i 个选不选,复杂度为\(O(2^n)\)

传参时多传一个最小公倍数,注意容斥时的奇负偶正

T2: 玄学

正解应该是 Treap ,但不会

不过 WTF?暴力能对?

但是考试时看了看样例输入,于是多打了一个换行。。。

\(UPDATE:2020/12/14\ \ \ \ 20:10:00\)

打出了多余的正解:

壳用一个双向队列 deque ,剩下的用一个 stack ,翻转用一个 tag 标记,操作 3 直接 tag^=1

事实证明 STL 常数真的大,跑得比暴力还慢。

T3:规律

\(m\le 11\)据说每一种情况都有一种规律

本蒟蒻只会\(m=1\)时奇偶性和\(m=2\)时高精度+斐波那契数列

\(UPDATE:2020/12/13\ \ \ 14:10\)

打消上面的疑虑,这题其实是道分段题

1:m>5

可以看出这就是 50% 的数据,因为 n 较小,可以直接状压 DP

设 F[i][s] 为前 i 行都放满,第 i 行状态为 s 的方案数(0是被填了,1是没有)

可以枚举行数 i 和 i-1 行的状态 j ,再用 Dfs 求出合法状态。

若 S 是第 i 行状态,T 是第 i-1 行状态,可得 \(F[i][S]=\sum F[i-1][T]\)

Dfs(第几行 i,状态的第几位 j,S,T)

  1. 看看有没有完成 S 状态,若完成则更新 F[i][S] 并返回
  2. 若 T 第 j 位是 0 ,Dfs(i,j+1,S 第 j 位为 1,T)
  3. 否则 Dfs(i,j+1,S,T)
  4. 若 T 第 j 位是 0 且 T 第 j+1 位是 0 且不越界, Dfs(i,j+2,S,T)

最后输出 F[n][0] ,初始化 F 除 F[0][0]=1 其他都是 0

2:m<=5

由于 \(n\le 10^{200}\) 所以可以想到数学方法,而直接肯定会炸,想到矩阵快速幂优化递推

可以用类似上一种情况的方法,把一对合法状态 S 和 T 再矩阵 tmp 中 tmp[S][T] 赋为 1

然后用矩阵快速幂求出 \(ans=tmp^n\) 其实就是一个简单的高精除以低精和\(2^m\times2^m\)的矩阵乘法

最后输出 ans[0][0]

T4:DP

奆佬们都说事二分+单调队列优化DP

于是本蒟蒻想到了 N 个月前没做出来的题“跳房子”,选择暂时放弃

\(UPDATE:2020/12/13\ \ \ 14:10\)

思路:

先二分答案为 mid ,考虑写 check 函数

设 F[i] 为在符合条件的情况下做了前 i 题的最少时间

显然 \(F_i = \min(F_j)+a[i]\ \ \ (j\in [i-mid+1,i-1])\)

最后判断是否有\(F_i<=t\ \ \ (i\in [n-mid+1,n])\)

由于暴力求区间最小会超时,可以用常数较小的单调队列维护,总复杂度\(O(nlogn)\)

总结

这次考试成绩并不理想,虽然只是第一次,却失误比较多

希望以后能看清题目,不打挂会的题目

2020.12.12【NOIP提高B组】模拟 总结的更多相关文章

  1. 5820. 【NOIP提高A组模拟2018.8.16】 非法输入(模拟,字符串)

    5820. [NOIP提高A组模拟2018.8.16] 非法输入 (File IO): input:aplusb.in output:aplusb.out Time Limits: 1000 ms   ...

  2. JZOJ 5818. 【NOIP提高A组模拟2018.8.15】 做运动

    5818. [NOIP提高A组模拟2018.8.15] 做运动 (File IO): input:running.in output:running.out Time Limits: 2000 ms  ...

  3. JZOJ 5812. 【NOIP提高A组模拟2018.8.14】 区间

    5812. [NOIP提高A组模拟2018.8.14] 区间 (File IO): input:range.in output:range.out Time Limits: 1000 ms  Memo ...

  4. 2021.06.12【NOIP提高B组】模拟 总结

    T1 题目大意:有 \(n\) 个点,到点 \(i\) 可以获得 \(A_i\) ,同时消耗 \(B_i\) 若当前价值小于 \(B_i\) 则不能到,问从 \(P\) 开始,任一点结束后的最大值. ...

  5. [JZOJ5817] 【NOIP提高A组模拟2018.8.15】 抄代码

    Description J 君是机房的红太阳,每次模拟她总是 AK 虐场.然而在 NOIP2117 中,居然出现了另一位 AK 的选手 C 君! 这引起了组委会的怀疑,组委会认为 C 君有抄袭 J 君 ...

  6. JZOJ5822 【NOIP提高A组模拟2018.8.16】 量子纠缠

    这是一道很巧妙的题目. 今早,我调了好久,终于将它切掉了-- 题目 Description Input 第一行包含一个正整数 m,代表操作数. 接下来 m 行,每行可能有以下形式: 1 s 代表将数字 ...

  7. [JZOJ5818] 【NOIP提高A组模拟2018.8.15】 做运动

    Description 一天,Y 君在测量体重的时候惊讶的发现,由于常年坐在电脑前认真学习,她的体重有了突 飞猛进的增长. 幸好 Y 君现在退役了,她有大量的时间来做运动,她决定每天从教学楼跑到食堂来 ...

  8. 【NOIP提高A组模拟2018.8.14】 区间

    区间加:差分数组修改 O(n)扫描,负数位置单调不减 #include<iostream> #include<cstring> #include<cstdio> # ...

  9. [jzoj 5782]【NOIP提高A组模拟2018.8.8】 城市猎人 (并查集按秩合并+复杂度分析)

    传送门 Description 有n个城市,标号为1到n,修建道路花费m天,第i天时,若gcd(a,b)=m-i+1,则标号为a的城市和标号为b的城市会建好一条直接相连的道路,有多次询问,每次询问某两 ...

随机推荐

  1. npm 和 Yarn 镜像站配置

    Node.js 作为近年来非常受欢迎的 Web 开发运行环境,由于开发者众多,贡献开源代码的人也很多,所有这些凝结成了 npm 这个世界上最大的软件包仓库,但是受限于 npm 软件包的服务器在国外,国 ...

  2. 直接远程下载或上传文件到linux系统中的简单办法

    如果执行sz 或者rz 没有这个命令,则安装lrzsz包执行:yum install lrzsz 等待安装完毕,然后一直输入Y即可. sz:将选定的文件发送(send)到本地机器 -a 以文本方式传输 ...

  3. 【面试普通人VS高手】Kafka的零拷贝原理?

    最近一个学员去滴滴面试,在第二面的时候遇到了这个问题: "请你简单说一下Kafka的零拷贝原理" 然后那个学员努力在大脑里检索了很久,没有回答上来. 那么今天,我们基于这个问题来看 ...

  4. uniapp报错:Browserslist: caniuse-lite is outdated. Please run next command `npm update`

    uni-app的编译器是基于npm的,依赖了众多包括mpvue.webpack在内的npm库,这些库又引用了一个三方库caniuser-lite.caniuser-lite这个库的代码里有个浏览器兼容 ...

  5. Java语言学习day25--7月31日

    今日内容介绍1.final 关键字2.static 关键字3.匿名对象4.内部类5.包的声明与访问6.访问修饰符7.代码块 ###01final关键字概念 * A: 概述 继承的出现提高了代码的复用性 ...

  6. 使用 sh -x 进行 shell 脚本调试

    转载请注明出处:   sh  -x 命令的执行,会将shell 命令的每一个执行步骤进行打印,可以查看到 整个命令或脚本的执行过程的 debug. sh -n 只读取shell脚本,检测语法错误,但不 ...

  7. Python学习笔记: 用pprint更漂亮的打印数据

    pprint是一个标准库,它提供了pprint()函数 ,用来打印复杂数据时更漂亮 >>> from pprint import pprint >>> data = ...

  8. 彻底解决Failed to execute goal on project xxxxx

    1.错误内容:Could not resolve dependencies for project 今天在使用mvn clean package命令对一个子项目打包的时候出现如下错误(但是使用mave ...

  9. ASP.NET Web 应用 Docker踩坑历程

    听说Docker这玩意挺长时间了,新建Web应用的时候,也注意到有个启用Docker的选项. 前两天扫了一眼<[大话云原生]煮饺子与docker.kubernetes之间的关系>,觉得有点 ...

  10. Linux网络流量相关

    一直以来对Linux网络这块都感觉比较乱 遇到一个UDP丢包的问题:在测试中,一台VM虚拟机,CPU利用率55%左右,内存利用率7%左右,网卡流量也远没到限制的时候出现了丢包情况 使用netstat ...