google kickstart 2018 round D A Candies】的更多相关文章

思路: 对于small数据,由于求和及奇数数量两个限制条件均满足区间单调性,可以直接使用尺取法(滑动窗口法)求解. 对于large数据,奇数数量依然是满足区间单调性的.首先使用尺取法,找到所有满足奇数限制条件的区间,然后对于每个区间分别计算不超过D的最大连续子段和.具体来说,可将区间的所有前缀和放到一个multiset中,二分查找即可. 实现: #include <bits/stdc++.h> using namespace std; typedef long long ll; ; const…
Speed Typing 题意概述 给出两个字符串I和P,问能否通过删除P中若干个字符得到I?如果能的话,需要删除字符的个数是多少? 数据规模 \[1≤|I|,|P|≤10^5 \] 双指针 设置两个指针i和j分别指向I和P的第一个字符,滑动指针j,如果j指向的字符与i指向的字符相同,则让i向后滑动一个字符,当i滑动到I字符串末尾或j滑动到P字符串末尾后即可结束循环.如果i滑动到I字符串末尾,则说明可以通过删除P中若干个字符得到I,那么删除的字符个数为\(|P|-|I|\):反之则不能. 复杂度…
[题目] C. Candies Distribution [描述] n个小朋友排排坐吃糖糖,小朋友从左到右编号1到n.每个小朋友手上有一定数量的糖.对于第i个小朋友来说,编号比他小的小朋友中有li个小朋友拥有的糖比他多,编号比他大的小朋友中有ri个小朋友拥有的糖比他多.已知每个小朋友手上至少有1颗糖.最多有n颗糖,求一种可能的每个小朋友手上的糖的数量的情形,输出YES和一种情形:如果不存在这样的可能,则输出NO. 数据范围:1<=n<=1000,0<=li,ri<=n [思路] 对…
谷歌招聘在如火如荼的进行中,进谷歌都需要经过谷歌kickstart在线测试,然后过了之后还有五轮的面试- -.好吧毕竟你待遇高,你强你有理.. 下面介绍一下进谷歌的第一关google kickstart在线测试规则和注意事项. google kickstart网址: https://code.google.com/codejam/ (PS. 建议全程连接vpn操作.) 首先你要有一个谷歌账号,可以是Gmail邮箱账号,没有的话注册一个. 然后进入上面的网址,右上角有一个log in,点了之后等一…
Google Kick Start Round G 2019 Book Reading 暴力,没啥好说的 #include<bits/stdc++.h> using namespace std; typedef long long ll; const int maxn=1e5+5; int n,m,q,p[maxn],r[maxn]; int cnt[maxn]; int main() { int T,Case=1; scanf("%d",&T); while(T-…
太蠢了,,,因为初始化大数据没过,丢了10分,纪念一下这个错误 大概思路:先求出让损失值最小的排列,由已生成的这些排列,通过更改某一个位置的值,生成下一个最优解,迭代最多生成m+1个最优解即可,遍历求出没有被禁的最优解即可 #include<iostream> #include<cstdio> #include<cmath> #include<queue> #include<vector> #include<string.h> #in…
Practice Round Problem A GBus count (9pt/15pt) (2019年1月14日,kickstart群每日一题) 题意:有一条笔直的大路,上面有城市编号从 1 开始从左到右一次排列.上面有 N 个 GBuses, 每一个 bus[i] 连接 A[i]  到 B[i] 两个地点(包含这两个地方).我们想要求 P 个城市,每个城市经过的公交车数量. 输入输出 和 数据规模 如下: There exist some cities that are built alo…
A题:给定A,N,P,计算A的N!次幂对P取模的结果. 数据范围: T次测试,1 ≤ T ≤ 100 1<=A,N,P<=105 快速幂一下就好了.O(nlogn). AC代码: #include<bits/stdc++.h> #define rep(i,a,b) for(int i=a;i<=b;++i) using namespace std; const int MAXN=1e5+1e4; long long mo[MAXN]; int TT; long long a,…
第一题: n个人,每个人有一个对应的技能值s,现在要从n个人中选出p个人,使得他们的技能值相同. 显然,如果存在p个人的技能值是相同的,输出0就可以了.如果不存在,就要找出p个人,对他们进行训练,治他们的技能值相同. 训练一个小时,技能值增加1,只有一个教练,也就是只能同时训练一个 人.找出最佳的p个人的方案,输出最小的训练时间. AC的代码: #include <stdio.h> #include <stdlib.h> #include <algorithm> usi…
Problem B. Vote A and B are the only two candidates competing in a certain election. We know from polls that exactly N voters support A, and exactly M voters support B. We also know that N is greater than M, so A will win. Voters will show up at the…