Codeforces Round #176 (Div. 1 + Div. 2)
2024-10-08 04:13:09
A. IQ Test
- 模拟。
B. Pipeline
- 贪心。
C. Lucky Permutation
- 每4个数构成一个循环。
- 当n为偶数时,n=4k有解;当n为奇数时,n=4k+1有解。
D. Shifting
- 本质相当于每次把每段的首个数字移动到下段的首部。
E. Main Sequence
- 括号匹配。
D. Tourists
- 对于每个询问\(q\)来说,被墙的挡住的位置满足\(l_i\le x\le r_i,t_i\le q+x\),即\(max\{l_i,t_i-q\}\le x \le r_i\)。
- 当\(l_i\)为最大值时,\(l_i\ge t_i - q\),即\(q\ge t_i - li\),考虑到\(q\)是严格递增的,所以可以按照\(t_i-l_i\)对墙排序,小于等于\(q\)的贡献为\(r_i-l_i\)。这个贡献与\(q\)无关,所以直接求和即可。
- 当\(t_i-q\)为最大值时,这些墙体的贡献为\(\sum{r_i-(t_i-q)}=\sum{r_i-t_i}+kq\)。所以需要维护\(r_i-ti\)的值以及相应的墙的数量。
- 由于墙会出现重叠情况,所以需要按照时间顺序,将墙处理成不相交的状态。离散化的方法是:用\(set\)维护未被覆盖的小区间,均摊复杂度为\(logn\)。
E. Ladies' Shop
- 因为\(1\le a_i \le m\),所以\(p_j=a_i\),否则\(p_j\)无法用\(\sum{a_i}\)表示。
- 对于\(a_k\)来说,必然要存在\(a_k=a_i+a_j,k>i,j\),否则会不满足条件2,剩下的就是用fft判断\(a_k=a_i+a_j\)这个等式是否成立。
最新文章
- 【Win10 应用开发】自适应Toast通知的XML文档结构
- 转载(sublime text 2 调试python时结果空白)
- WebUpLoder 能自动预览,能多实例,包括后台demo
- RHEL7学习之ISCSI配置
- 生成n位随机字符串
- Python开发入门与实战5-django模型
- python之参数
- 将时间显示为“刚刚”“n分钟/小时前”等
- android升级软件版本号,您安装后的新版本号,成功安装画面没有出现,或直接回到桌面
- 找回误删除的UBUNTU16.04桌面壁纸图片,或把桌面背景图片另存。20170114
- PAT (Advanced Level) 1078. Hashing (25)
- 如何查看dede版本信息
- 菜鸟水平如何在Android Studio中添加uiautomator测试框架
- xpath-helper: 谷歌浏览器安装xpath helper 插件
- 启动tomcat报错:Failed to start component [StandardEngine[Catalina].StandardHost[localhost]
- centos7之zabbix入门(一)
- npm 升级自身
- C#MVC和cropper.js实现剪裁图片ajax上传的弹出层
- Loj#572. 「LibreOJ Round #11」Misaka Network 与求和
- 被Chrome下的remove闪了一下腰