Contest Link

C

妙妙贪心题,居然需要高斯求和公式。

Submission

D

妙妙套路题,维护全局 lazytag,easy to solve.

Submission

E

妙妙拆贡献题,推一下公式:

\[\begin{aligned}
\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)\)。

Submission

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\) 的限制,查询用前缀和。

Submission

G

AtCoder Beginner Contest 379的更多相关文章

  1. AtCoder Beginner Contest 100 2018/06/16

    A - Happy Birthday! Time limit : 2sec / Memory limit : 1000MB Score: 100 points Problem Statement E8 ...

  2. AtCoder Beginner Contest 052

    没看到Beginner,然后就做啊做,发现A,B太简单了...然后想想做完算了..没想到C卡了一下,然后还是做出来了.D的话瞎想了一下,然后感觉也没问题.假装all kill.2333 AtCoder ...

  3. AtCoder Beginner Contest 053 ABCD题

    A - ABC/ARC Time limit : 2sec / Memory limit : 256MB Score : 100 points Problem Statement Smeke has ...

  4. AtCoder Beginner Contest 136

    AtCoder Beginner Contest 136 题目链接 A - +-x 直接取\(max\)即可. Code #include <bits/stdc++.h> using na ...

  5. AtCoder Beginner Contest 137 F

    AtCoder Beginner Contest 137 F 数论鬼题(虽然不算特别数论) 希望你在浏览这篇题解前已经知道了费马小定理 利用用费马小定理构造函数\(g(x)=(x-i)^{P-1}\) ...

  6. AtCoder Beginner Contest 076

    A - Rating Goal Time limit : 2sec / Memory limit : 256MB Score : 100 points Problem Statement Takaha ...

  7. AtCoder Beginner Contest 079 D - Wall【Warshall Floyd algorithm】

    AtCoder Beginner Contest 079 D - Wall Warshall Floyd 最短路....先枚举 k #include<iostream> #include& ...

  8. AtCoder Beginner Contest 064 D - Insertion

    AtCoder Beginner Contest 064 D - Insertion Problem Statement You are given a string S of length N co ...

  9. AtCoder Beginner Contest 075 D - Axis-Parallel Rectangle【暴力】

    AtCoder Beginner Contest 075 D - Axis-Parallel Rectangle 我要崩溃,当时还以为是需要什么离散化的,原来是暴力,特么五层循环....我自己写怎么都 ...

  10. AtCoder Beginner Contest 075 C bridge【图论求桥】

    AtCoder Beginner Contest 075 C bridge 桥就是指图中这样的边,删除它以后整个图不连通.本题就是求桥个数的裸题. dfn[u]指在dfs中搜索到u节点的次序值,low ...

随机推荐

  1. VS2019 查看源码,使用F12查看源码

    前几天在微软社区看到VS的功能演示时,偶然看到此功能,对于开发人员来说太有用了,特此记录分享出来希望可以帮助到家. 具体设置步骤,打开vs2019,在工具>选项>文本编辑器>c#&g ...

  2. CSS – PostCSS

    前言 我第一次接触 PostCSS 是在学 Tailwind CSS 的时候. 它类似 JavaScript 的 Babel. 我没有用过 Babel, 因为 TypeScript 用的早. Post ...

  3. Figma 学习笔记 – Image

    参考: Figma Tutorial: Images 3 Ways to Insert Image 1. rectangle / frame + fill 画一个 rectangle / frame ...

  4. 大年初四,Flutter Forward 中国社区直播活动与你不见不散

    之前我们预告过,2023 年 1 月 25 日 (年初四),Flutter 团队将在肯尼亚首都内罗毕举办 Flutter Forward 大会,并同时开启线上直播.本次活动将为展示最新的 Flutte ...

  5. Transformer原理+代码详解

    简介 Transformer是一种深度学习模型,它在自然语言处理(NLP)领域中非常流行和有效.它最初由Vaswani等人在2017年的论文<Attention is All You Need& ...

  6. jwt实现登录 和 接口实现动态权限

    [Authorize]   ====   using Microsoft.AspNetCore.Authorization; 登录的 DTO namespace login; public class ...

  7. CSharp的Where底层实现

    using System; using System.Collections.Generic; using System.Linq; using System.Net.Http; using Syst ...

  8. 谈一谈 vuex 中的核心属性

    1. state 保存数据的位置 : 2. mutations 唯一修改 state 数据的方式 : 3. getter 监听 state 数据的变化 : 4. actions 执行异步代码,通过 c ...

  9. SQL语法-列的新增、删除

    MySQL的语法: 新增列 ALTER TABLE `xxdb`.`xxtable` ADD COLUMN `xx_flag` varchar(1) NULL; 删除列 ALTER TABLE `xx ...

  10. Nuxt.js 应用中的 modules:before 事件钩子详解

    title: Nuxt.js 应用中的 modules:before 事件钩子详解 date: 2024/10/15 updated: 2024/10/15 author: cmdragon exce ...