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 ...
随机推荐
- AsyncTask被废弃了,换Coroutine吧
本文主要是学习笔记,有版权问题还请告知删文 鸣谢:guolin@第一行代码(第三版) 你是否也在最近的代码中看见了 AsyncTask 被一条横杠划掉了 这表明--他要被Google放弃了 Googl ...
- APP常用控件学习理解
1.TextView 示例: layout_width指的是文本的所占宽度(不一定填充满),layout_height指的是文本所占高(不一定填充满),warp_coonent :包裹文本宽度 mat ...
- “随手记”开发记录day03
今天完成了进入页面 还有记账页面 出现的问题,在登录页面中由于布局采用的错误 后边的view把前面的view遮住,看不出来,我们查找方法,找到了设置权重的办法解决 明天打算完成加号里面的内容
- MySQL时间设计 int timestamp datatime 查询效率性能比较
在数据库设计的时候,我们经常会需要设计时间字段,在MYSQL中,时间字段可以使用int.timestamp.datetime三种类型来存储,那么这三种类型哪一种用来存储时间性能比较高,效率好呢?飘易就 ...
- IDEA操作jdbc总结
今天学习IDEA操作JDBC,MySQL包导入到项目 // 1.注册数据库的驱动// Driver driver=new com.mysql.jdbc.Driver();// DriverManage ...
- C#LeetCode刷题之#345-反转字符串中的元音字母(Reverse Vowels of a String)
问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/3935 访问. 编写一个函数,以字符串作为输入,反转该字符串中的元 ...
- asp.netcore 3.1 program、Startup 类详解
Program类 public class Program { /// <summary> /// 应用程序入口 /// 1.asp.netcore 本质上是控制台程序 /// </ ...
- SOAR安全能力编排化
安全能力编排化(Security Capability Orchestration)是指系统一方面可以通过自底向上地通过安全设施接口化和安全接口应用化实现安全应用编排化:另一方面则自顶向下地将安全运营 ...
- jquary常见问题总结
如何调用本地json 1. 调用 <script src="solution.json?cb=readData"></script> 2. json 修改 ...
- SpringMVC的简介和工作流程
一.简介 Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面.Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块.Spri ...