2021 多校 杭电 第十场
好像这场完多校就结束了,然而好颓废,题一场都没补
比赛记录
我做 A,第一问很好解决,枚举 \(k\),再定义只在字典序最小的方案处统计答案,枚举方案中 \(k\) 出现的位置,再乘个组合系数就行。
这时候 bzy 说 D tle了,有高论,准备等等看
第二问,一开始进行了错误的转化,看到榜上没一血,找zzs帮忙dp一个计数问题,但这个其实没用,zzs忙着切 C,再看已经有一血了,就自己慢慢做了。然后发现对于一类合法方案,根据对称性,剩下位置填数对 \(1\cdots k\) 的贡献应该是一样的,所以只要在第一问中加个 \(\frac{tmp_i}i \times n\) 就好,发现 \(p\) 不一定是质数,改利用乘的系数除掉 \(i\) 即可,中间因为 \(n=1\) 和少乘系数导致 WA 了两发
然后 zzs C tle,丢给 bzy,去写 H
我看到 C,感觉可以 bitset 就去写,然后 bzy 说他在写,我就去看 D 了。中间突然感兴趣回来看 zzs 之前 TLE 的代码,哦是 bitset 啊,那没我事了,然后看到群里 bzy:“发现是n^4/w的,T 了”,zzs:“你都不看看我之前为啥 T 了吗”。 然后我自己血了一个试图加个 O3 卡过去,本地 0.8s 他跑不出来,好奇哪个人之前说评测机挺快的,然后看那个枚举 for j 1..i
和dp拆分数的思想一样,这个只用前一半和 \(i\),就可以常数 除以 2,加上O3,就过了
期间 zzs 过了 H,然后 我搞 D,zzs 搞 F,bzy 搞 G
bzy:“G找到一篇tarjan老爷子的论文”,然后就失踪了
我写了半天 D 假的枚举 \(\frac{n}{i}\) 的段,希望在 \(2^{16}\) 中不多,然后跑出来按时间估计比暴力还慢,发现自己是个 sb,冷静分析一下就知道段很多
期间 zzs 发了点 F 的转化我还没细想,就提出和 zzs 换着看下题
去看 F,式子着实吓人,感觉一下子承受不了,那边 zzs 还开始写 D 了,就想偷偷下班了。水了下群,看了看高中那边比赛情况,zzs就说他假了。。。然后我回来继续搞 D
期间想了记忆化,但是看 zzs 说的复杂度太优秀了,就没管,现在回来写,差不多就是直接记录 \(F(k,n)\),转移就是 \(F(k,n) = F(k-1,n) - F(k-1,\frac{n}{p_k})\),在加一个把 \(n\) 降成 \(n\bmod \prod_{i=1}^k p_i\),再分别用数组记录 \(n\le M\) 的答案 和 map 记录 \(> M\) 的,然后跑十几s,然后想到可能记录 大于 \(M\) 的答案没用,去掉 map 发现速度起飞,提交,改掉 MLE 就过了
实在不想想 F,去读了下 J 没发现满足单调性的地方,咕咕了
之后 bzy G RE了,在群里发自己调不动了,我以为只是 RE,想随手拿 gdb 看看咋回事然后发现他样例都没过,,,就提前下班了
原文地址:https://www.cnblogs.com/flukehn/p/15163028.html
- 【java开发系列】—— JDOM创建、修改、删除、读取XML文件
- AngularJs ng-route路由详解
- JAVA获取txt文件内容
- 关于 CSS 反射倒影的研究思考
- 【Javascript】—— 1 方法function的高级特性
- Oracle基础知识-SQL简单命令
- 【java开发系列】—— spring简单入门示例
- JavaMelody应用监控使用指南
- 记录安装oracle的那些事(四)之oracle 缺包安包
- 【面试虐菜】—— JAVA面试题(1)
- JAVA增删改查XML文件
- javascript去掉字符串前后空格
- 构建通用的 React 和 Node 应用
- 有趣的 CSS 像素艺术
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 为生产环境编译 Angular 2 应用
- 剑指offer 03:二维数组中的查找
- 《剑指offer》04:替换空格
- 《剑指offer》05: 从尾到头打印链表
- 《剑指offer》第六天:重建二叉树
- Android | 《看完不忘系列》之Glide
- Android | 资源冲突覆盖的一些思考
- 如何获取流式应用程序中checkpoint的最新offset
- Spark之离线统计热点城市信息
- 使用OpenCV实现图像增强
- typescript基础篇(4):函数
- 这样的奇技淫巧,劝你不用也罢
- 一文详解设备ID的那些事儿
- Ansible搭建hadoop-3.1.3高可用
- Android | xml和view的那些事