Google Kick Start 2020 Round C
A. Countdown
for循环跑一跑,没啥好说的。
B. Stable Wall
如果\(s_{i,j} \ne s_{i+1,j}\),那么说明\(s_{i+1,j}\)必须在\(s_{i,j}\)之前先放,对于这种优先级关系很自然的就能想到拓扑排序。然后建图拓扑排序跑一跑就完事了。
C. Perfect Subarray
这题直接暴力。首先记录前缀和。对于以\(i\)开始的子段,枚举所有的完全平方数\(sq\),符合条件的子段数等于满足\(sum_j = sum_{i-1} + sq, j \in [i, n]\)的\(j\)的个数。用一个桶存放\(sum_i\)出现的次数,然后暴力跑就可以在\(O(n\sqrt{10^7})\)的时间内解决本题。
D. Candies
将序列\(a\)按下标的奇偶分为两个,分别用两个线段树\(T_1\)和\(T_2\)维护,主要维护\(a_i \times i\)的区间和以及\(a_i\)的区间和。
修改和普通的线段树一样,这里不再赘述。
然后就是回答询问了,对于询问\((l,r)\),将其划分为两类:左端点为奇数和左端点为偶数。
对于左端点为奇数的询问,我们可以通过\(T_1\)获取\(a_i \times i\)在\([l,r]\)的区间和,然后减去\((l-1)\)倍\(a_i\)在\([l,r]\)的区间和,就是答案中加上去的部分;通过\(T_2\)获取\(a_i \times i\)在\([l+1, r]\)的区间和,然后减去\((l-1)\)倍\(a_i\)在\([l+1,r]\)的区间和,就是答案中减去的部分。
左端点为偶数的也差不多,奇数的改改就可以了。
总结
这场题目都是一眼题,就是C题因为犯了低级失误导致交了5发才过,不然我应该可以做到50minAK。
Google Kick Start 2020 Round C的更多相关文章
- Google Kick Start 2020 Round B T4 Wandering Robot
题意 一个\(n \times m\)的矩形空间,起点是\((1,1)\),终点是\((n,m)\). 假设当前位于\((x,y)\): 如果当前位于最后一行,那么下一步只能走向\((x,y+1)\) ...
- Google Kick Start 2020 Round B T1-3
这场题目除了最后一题稍微难了点,其他都是1眼题. T1 Bike Tour 没啥好说的,一个循环解决. T2 Bus Routes 没啥好说的,从第\(n\)的车站开始贪心取最晚的. T3 Robot ...
- Google Kick Start Round G 2019
Google Kick Start Round G 2019 Book Reading 暴力,没啥好说的 #include<bits/stdc++.h> using namespace s ...
- Google Kick Start 2019 C轮 第一题 Wiggle Walk 题解
Google Kick Start 2019 C轮 第一题 Wiggle Walk 题解 题目地址:https://codingcompetitions.withgoogle.com/kickstar ...
- [C++]Store Credit——Google Code Jam Qualification Round Africa 2010
Google Code Jam Qualification Round Africa 2010 的第一题,很简单. Problem You receive a credit C at a local ...
- Google Code Jam 2010 Round 1C Problem A. Rope Intranet
Google Code Jam 2010 Round 1C Problem A. Rope Intranet https://code.google.com/codejam/contest/61910 ...
- kick start 2019 round D T3题解
---恢复内容开始--- 题目大意:共有N个房子,每个房子都有各自的坐标X[i],占据每个房子需要一定花费C[i].现在需要选择K个房子作为仓库,1个房子作为商店(与题目不同,概念一样),由于仓库到房 ...
- dp - Google Code jam Qualification Round 2015 --- Problem B. Infinite House of Pancakes
Problem B. Infinite House of Pancakes Problem's Link: https://code.google.com/codejam/contest/6224 ...
- Google Code jam Qualification Round 2015 --- Problem A. Standing Ovation
Problem A. Standing Ovation Problem's Link: https://code.google.com/codejam/contest/6224486/dashbo ...
随机推荐
- CSS页面布局与网格(上)
1.布局规划 1.1 网格 网格系统是设计师在切分布局时作为参照的一组行和列. 1.2 布局辅助类 类名用于为布局添加样式.为了让样式可以重用,让类名表达其意图. .column { /* 一般列的样 ...
- Vulnhub靶场-Me and my girlfriend 学习笔记
靶机下载地址:https://www.vulnhub.com/entry/me-and-my-girlfriend-1,409/ Description: This VM tells us that ...
- Java自学-图形界面 容器
Swing 的容器 JFrame和JDialog java的图形界面中,容器是用来存放 按钮,输入框等组件的. 窗体型容器有两个,一个是JFrame,一个是JDialog 步骤 1 : JFrame ...
- 2020-07-04:tcp三次握手干了啥?time_wait什么时候出现?
福哥答案2020-07-04:三次握手如下:1.SYN j2.ACK j+1,SYN k3.ACK k+1 time_wait出现在断开连接第四次挥手的时候出现.TIME_WAIT状态存在有两个原因. ...
- HTML实例-02-京东顶部导航条
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...
- VulnHub靶场学习_HA: Chakravyuh
HA: Chakravyuh Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-chakravyuh,388/ 背景: Close your eyes a ...
- Spring Boot系列(一):Spring Boot快速开始
一.Spring Boot介绍 Spring Boot可以很容易的创建可直接运行的独立的基于Spring的应用程序. 功能特点: 创建独立的Spring应用程序: 直接嵌入Tomcat.Jetty等W ...
- CSS动画实例:升空的气球
1.制作一个气球 设页面中有<div class="balloon"></div>,为. balloon设置样式规则如下: .balloon { heigh ...
- Jmeter 常用函数(1)- 详解 __Random
如果你想查看更多 Jmeter 常用函数可以在这篇文章找找哦 https://www.cnblogs.com/poloyy/p/13291704.html 作用 产生一个随机数 语法格式 ${__Ra ...
- 在我们使用Redis作为一个LRU缓存的时候,怎么做才能更高效
当用Redis作为一个LRU存储时,有些时候是比较方便的,在你增添新的数据时会自动驱逐旧的数据.这种行为在开发者论坛是非常有名的,因为这是流行的memcached系统的默认行为. LRU实际上只是支持 ...