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. Facebook – Facebook Page Embed

    前言 在网站嵌套 Facebook 专页是很好的推广方式哦. 虽然网站还是需要做 Blog, 但是通常被订阅的都是 Facebook 专页而不是网站 Blog. 开通账号 它的 setup 很简单, ...

  2. SpringBoot——配置文件分类

    配置文件分类 1级:file:config/application.yml(jar包所在目录)               [最高] 2级:file:application.yml 3级:classp ...

  3. 一,初始 MyBatis-Plus

    一,初始 MyBatis-Plus @ 目录 一,初始 MyBatis-Plus 1. MyBatis-Plus 的概述 2. 入门配置第一个 MyBatis-Plus 案例 3. 补充说明: 3.1 ...

  4. Python计算傅里叶变换

    技术背景 傅里叶变换在几乎所有计算相关领域都有可能被使用到,例如通信领域的滤波.材料领域的晶格倒易空间计算还有分子动力学中的倒易力场能量项等等.最简单的例子来说,计算周期性盒子的电势能\(k\sum_ ...

  5. UEFI原理与编程(一)

    第一章 UEFI概述(Unified Extensible Firmware Interface 统一的可扩展固件接口) 常见缩写及描述: 缩略词 全名 描述 UEFI Unified Extensi ...

  6. Android 12 关机重启流程

    1. 关机流程 Android上层触发关机的入口很多,但最终几乎都是调用ShutdownThread.shutdown来实现.如下是一些常见的调用关机的点: StatusBarManagerServi ...

  7. 反射获取Exception的所有类

    var test = "test"; $"{test} 喜喜".Dump(); // 反射 var types = Assembly .GetAssembly( ...

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

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

  9. excel导⼊功能的实现流程简要描述⼀下?

    当时公司的场景⼤概⼀个excel⽂件⾥就⼏⼗条数据,量⽐较少,和后端商量之后制定了前端主导的⽅ 案,解析的过程放到了浏览器端做,当时是参考了⼀下vue-admin中的现成的⽅案 ⼤概流程是这样的,⼈事 ...

  10. 018 人生中第一次用 Python 写的一个小程序_猜年龄(再次强调,重视基础)

    博客配套视频链接: https://space.bilibili.com/383551518?spm_id_from=333.1007.0.0 b 站直接看 配套 github 链接:https:// ...