AtCoder Beginner Contest 379
C
妙妙贪心题,居然需要高斯求和公式。
D
妙妙套路题,维护全局 lazytag,easy to solve.
E
妙妙拆贡献题,推一下公式:
\sum_{l = 1}^{n} \sum_{r = l}^{n} f(l, r) &= \sum_{l = 1}^{n} \sum_{r = l}^{n} \sum_{i = l}^{r} 10^{r - i} a_i \\
&= \sum_{i = 1}^{n} a_i \sum_{l = 1}^{i} \sum_{r = i}^{n} 10^{r - i} \\
&= \sum_{i = 1}^{n} i a_i \sum_{r = i}^{n} 10^{r - i} \\
&= \sum_{i = 1}^{n} i a_i (10^0 + 10^1 + 10^2 + \dots + 10^{n - i}) \\
\end{aligned}
\]
也就是说, \(a_i\) 的贡献就是给答案的第 \(0, 1, \dots, n - i\) 位都加上一个 \(i a_i\)。
Prob could be solved in \(O(n)\)。
F
状压,正解是轮廓线 DP。
妙妙 DS 题。
单调栈 + 树状数组。
找到每个数左边第一个大于它的数,记为 \(L_i\)。我们可以这样来约束能被看到的建筑物:
- 位于 \([l, r]\) 右边
- 满足题目中的限制,只对于 \(l\)
为什么限制只剩下 \(l\) 了呢?因为 \(l\) 能看到的 \(r\) 都能看到,\(l\) 看到某个建筑物 \(i\) 的条件是 \((l, i)\) 中没有 \(h \gt h_i\),也就是 \(i\) 左边第一个大于 \(i\) 的数必须不超过 \(l\)。
离线下询问,把询问挂在右端点上,倒序枚举 \(r\),用树状数组维护前文所述 \(L_i\) 的限制,查询用前缀和。
G
AtCoder Beginner Contest 379的更多相关文章
- AtCoder Beginner Contest 100 2018/06/16
A - Happy Birthday! Time limit : 2sec / Memory limit : 1000MB Score: 100 points Problem Statement E8 ...
- AtCoder Beginner Contest 052
没看到Beginner,然后就做啊做,发现A,B太简单了...然后想想做完算了..没想到C卡了一下,然后还是做出来了.D的话瞎想了一下,然后感觉也没问题.假装all kill.2333 AtCoder ...
- AtCoder Beginner Contest 053 ABCD题
A - ABC/ARC Time limit : 2sec / Memory limit : 256MB Score : 100 points Problem Statement Smeke has ...
- AtCoder Beginner Contest 136
AtCoder Beginner Contest 136 题目链接 A - +-x 直接取\(max\)即可. Code #include <bits/stdc++.h> using na ...
- AtCoder Beginner Contest 137 F
AtCoder Beginner Contest 137 F 数论鬼题(虽然不算特别数论) 希望你在浏览这篇题解前已经知道了费马小定理 利用用费马小定理构造函数\(g(x)=(x-i)^{P-1}\) ...
- AtCoder Beginner Contest 076
A - Rating Goal Time limit : 2sec / Memory limit : 256MB Score : 100 points Problem Statement Takaha ...
- AtCoder Beginner Contest 079 D - Wall【Warshall Floyd algorithm】
AtCoder Beginner Contest 079 D - Wall Warshall Floyd 最短路....先枚举 k #include<iostream> #include& ...
- AtCoder Beginner Contest 064 D - Insertion
AtCoder Beginner Contest 064 D - Insertion Problem Statement You are given a string S of length N co ...
- AtCoder Beginner Contest 075 D - Axis-Parallel Rectangle【暴力】
AtCoder Beginner Contest 075 D - Axis-Parallel Rectangle 我要崩溃,当时还以为是需要什么离散化的,原来是暴力,特么五层循环....我自己写怎么都 ...
- AtCoder Beginner Contest 075 C bridge【图论求桥】
AtCoder Beginner Contest 075 C bridge 桥就是指图中这样的边,删除它以后整个图不连通.本题就是求桥个数的裸题. dfn[u]指在dfs中搜索到u节点的次序值,low ...
随机推荐
- 项目完成小结:使用DjangoStarter v3和Taro开发的微信小程序
前言 不知不觉已经九月了,又到了一年的开学季,我每年都想做的项目墙甚至连个影子都没有- 最近生活中的琐事太多了,导致完全没有想写文章的动力,不过再怎么拖还是得记录,随便写写吧~ 这次是7月份的一个小项 ...
- Vue中防抖和节流 --来自官方文档
Vue 没有内置支持防抖和节流,但可以使用 Lodash 等库来实现. 如果某个组件仅使用一次,可以在 methods 中直接应用防抖: <script src="https://un ...
- ChatGPT论文降重Prompt
你是一个已经阅读过大量论文的论文写作专家.我正在设计一个基于xxx系统.接下来,我将给你一个论文段落,你可以使用调整句子用词.句子结构等方法,重新描述这段话,对文章的内容进行润色,使之更加接近论文的写 ...
- 异步解析文件报错 NoSuchFileException
问题描述:同步上传解析文件超时,修改为异步解析后找不到 文件 java.nio.file.NoSuchFileException 原因:异步文件上传,主线程结束后,临时目录的文件会被清理掉,子线程此时 ...
- string的find()与npos
在 C++ 中,std::string::find() 是一个用于在字符串中查找子字符串或字符的成员函数.查找成功时返回匹配的索引位置,查找失败时返回 std::string::npos,表示未找到. ...
- Android复习(三)清单文件中的元素——>supports-gl-texture、supports-screens
<supports-gl-texture> 注意:Google Play 会根据应用支持的纹理压缩格式对其进行过滤,以确保应用只能安装在可正确处理其纹理的设备上.您可以将纹理压缩过滤用作定 ...
- 使用 KubeSphere 部署高可用 RocketMQ 集群
作者:老Z,云原生爱好者,目前专注于云原生运维,KubeSphere Ambassador. Spring Cloud Alibaba 全家桶之 RocketMQ 是一款典型的分布式架构下的消息中间件 ...
- Lattice ICE40LP8K开发
一.开发工具: ICEcube2,界面非常原始,只有PLL IP核添加功能,其他IP核貌似只能使用primitive替换. 不支持时序分析.在线仿真等功能. 二.原语使用 全局布线资源 在 iCE40 ...
- 基于Java+SpringBoot+Mysql实现的快递柜寄取快递系统功能实现七
一.前言介绍: 1.1 项目摘要 随着电子商务的迅猛发展和城市化进程的加快,快递业务量呈现出爆炸式增长的趋势.传统的快递寄取方式,如人工配送和定点领取,已经无法满足现代社会的快速.便捷需求.这些问题不 ...
- 12.Kubernetes集群安全机制
Kubernetes集群安全机制 概述 当我们访问K8S集群时,需要经过三个步骤完成具体操作 认证 鉴权[授权] 准入控制 进行访问的时候,都需要经过 apiserver, apiserver做统一协 ...