beginner atcoder contest 209

AtCoder Regular Contest 167

Preface 补一下上周日的ARC,因为当天白天和队友一起VP了一场所以就没有精力再打一场了 这场经典C计数不会D这种贪心乱搞反而是一眼秒了,后面的EF过的太少就没看 A - Toasts for Breakfast Party 用一个类似于蛇形的放法就好了,比如对于\(n=9,m=5\),放法为 ......
AtCoder Regular Contest 167

Japan Registry Services (JPRS) Programming Contest 2023 (AtCoder Beginner Contest 324) 赛后总结

Japan Registry Services (JPRS) Programming Contest 2023 (AtCoder Beginner Contest 324) 赛后总结 可悲的是:我没来得及写题解。 T1 Same 秒切。 直接输入排一遍序再遍历即可。 #include <bits/s ......

比赛总结:Japan Registry Services (JPRS) Programming Contest 2023 (AtCoder Beginner Contest 324)

比赛:Japan Registry Services (JPRS) Programming Contest 2023 (AtCoder Beginner Contest 324) A-same 1.常规方法 int main() { int n; cin >> n; vector<int> s(n) ......

2019-2020 ICPC Northwestern European Regional Programming Contest (NWERC 2019)

\(A. Average Rank\) 将每个人的排名看作是前面一个人的贡献,然后采用类似懒标记的形式优化复杂度。 int sum[N],point[N],cnt[N],pre[N],laz[N]; void solve(){ int n=read(),w=read(); laz[0]=w; cnt ......

AtCoder Regular Contest 066 F Contest with Drinks Hard

洛谷传送门 AtCoder 传送门 下文令 \(a\) 为原题中的 \(T\)。 考虑若没有饮料,可以设 \(f_i\) 表示,考虑了前 \(i\) 道题,第 \(i\) 道题没做的最大得分。转移就枚举上一道没做的题 \(j\),那么 \([j + 1, i - 1]\) 形成一个连续段。设 \(b ......
Contest AtCoder Regular Drinks Hard

Atcoder Regular Contest 167

卡 B 下大分了,怎么回事呢。 A. Toasts for Breakfast Party 发现题意是让方差尽可能小,就是让 \(A\) 里的值尽可能接近。 所以从小到大排个序,把 \(A_{N,\dots,N-M+1}\) 依次放进 \(1,2,\dots,M\),再把 \(A_{N-M,\dot ......
Atcoder Regular Contest 167

[Leetcode Weekly Contest]367

链接:LeetCode [Leetcode]2903. 找出满足差值条件的下标 I 给你一个下标从 0 开始、长度为 n 的整数数组 nums ,以及整数 indexDifference 和整数 valueDifference 。 你的任务是从范围 [0, n - 1] 内找出 2 个满足下述所有条 ......
Leetcode Contest Weekly 367

AtCoder Beginner Contest 324

在高铁上加训! A - Same (abc324 A) 题目大意 给定\(n\)个数,问是否都相等。 解题思路 判断是不是全部数属于第一个数即可。或者直接拿set去重。 神奇的代码 #include <bits/stdc++.h> using namespace std; using LL = lo ......
Beginner AtCoder Contest 324

【题解】AtCoder-ARC167

AtCoder-ARC167A Toasts for Breakfast Party 一定不会有空盘,问题转化成 \(2m\) 个数,其中 \(2m-n\) 个是 \(0\),这样一定是最大值和最小值一起,次大值和次小值一起,以此类推。 提交记录:Submission - AtCoder AtCod ......
题解 AtCoder-ARC AtCoder ARC 167

AtCoder Beginner Contest 180 F Unbranched

洛谷传送门 AtCoder 传送门 首先进行一个容斥,把连通块最大值 \(= K\) 变成 \(\le K\) 的方案数减去 \(\le K - 1\) 的方案数。 考虑 dp,设 \(f_{i, j}\) 表示当前用了 \(i\) 个点,\(j\) 条边。转移即枚举其中一个连通块的大小 \(k\) ......
Unbranched Beginner AtCoder Contest 180

2023 Hubei Provincial Collegiate Programming Contest

\(B. Mode\) 利用数位 \(dp\) 求数字众数,那么在相同的位数下,相同的个数即为相同,用 \(map\) 记忆化搜索。 int num[20],len=0; map<pair<int,vector<int> > ,int>mp; int dfs(int pos,vector<int> ......

AtCoder Beginner Contest 324 DF题题解

比赛链接 D - Square Permutation 其实比较简单,但是比赛时候脑子不转了,竟然在尝试枚举全排列,然后算了一下复杂度直接不会做了。 正解应该是枚举完全平方数,底数枚举到 \(sqrt(10^{14})\) 即可,因为 n 最大为 13。 然后统计一下这个完全平方数各个数字出现了多少 ......
题解 Beginner AtCoder Contest 324

AtCoder Beginner Contest 324

D - Square Permutation 须知:最大的平方数的平方一定小于等于10n,平方数最多为10(n/2)(因为再大会越界) 因为要求的数一定是原数的排列组合,所以它们的元素和对应的元素个数一定相同 所以只要判断平方数的字符串是否与原字符串相等即可(这里可以利用排序判断) 点击查看代码 # ......
Beginner AtCoder Contest 324

LeetCode209. 长度最小的子数组

题目描述 给定一个含有 n 个正整数的数组和一个正整数 target 。 找出该数组中满足其总和大于等于 target 的长度最小的 连续子数组 [numsl, numsl+1, ..., numsr-1, numsr] ,并返回其长度。如果不存在符合条件的子数组,返回 0 。 示例 输入:targ ......
数组 长度 LeetCode 209

Atcoder Beginner Contest 324 F Beautiful Path 题解-分数规划

为了更好的阅读体验,请点击这里 分数规划小技巧:尽可能将式子写成存在某种取值,使得不等式成立的形式。 不然可能需要绕几个弯才能想出来。 题目链接 题目大意:给出一个 DAG,每条边有一个 \(b_i, c_i\),保证从编号小的边向编号大的边连边,且 \(1\) 到 \(n\) 必有路径,求 \(1 ......
题解 Beautiful 分数 Beginner Atcoder

2022 China Collegiate Programming Contest (CCPC) Guilin Site(持续更新)

Preface 由于还有两周就要滚去打区域赛了,这周开始周末每天都训一场吧 这场总体来说打的还可以,虽然E题这个Easy从卡局卡到3h,但由于其它的题都是一遍过所以罚时还尚可跻进Au区 后面一个小时看徐神和祁神苦战K大分类讨论,虽然场下感觉摸了一个B的做法出来,但感觉实现还是太麻烦了就没写,最后K也 ......
Programming Collegiate Contest Guilin China

AtCoder Beginner Contest 321 C-321-like Searcher

可以观察到0-9的所有子集都能恰组成一个满足题目条件的数字,所以共有1022个数{除空集和0} 方法就是二元枚举,找出所有数然后排序。 #include <iostream> #include <cstdio> #include <vector> #include <algorithm> using ......
321 Beginner Searcher AtCoder Contest

Atcoder beginner constest319 Minimum Width

因为要求窗口的最小宽度,当宽度为w时满足条件,那么宽度为w+1时也满足条件,有此可见是有单调性的,那么可以用二分搜的方法,且此题目一定有解。因为M最大为2乘以10的5次方,Li最大为10的9次方,所以宽度最大为2乘以10的14次方,单词每次间隔1,所以这里设成10的17次方。之后就是套二分模板解暴力 ......
beginner constest Atcoder Minimum Width

CF1439D INOI Final Contests

先总结一些充要条件。 一个人 \(i\) 选不到自己的 \(a_i\) 的充要条件为:若为左侧,则存在左侧的一个 \(j\) 满足 \(a_k\in[j,i]\) 且 \(b_k=R\) 的 \(k\) 的个数 \(> i-j\),右侧同理,满足其一即可。 一个方案不合法的充要条件为,若对于一个 \ ......
Contests 1439D Final 1439 INOI

2021 China Collegiate Programming Contest (CCPC) Guilin Site

A. A Hero Named Magnus #include <bits/stdc++.h> using namespace std; #define int long long using pii = pair<int, int>; using vi = vector<int>; void so ......
Programming Collegiate Contest Guilin China

代码随想录第二天|977.有序数组的平方 ,209.长度最小的子数组 ,59.螺旋矩阵II

977 有序数组的平方 题目链接:https://leetcode.cn/problems/squares-of-a-sorted-array/ 思路:双指针(实际是三指针),两个找最大值,一个确定平方后的位置。 209.长度最小的子数组 题目链接:https://leetcode.cn/probl ......
数组 随想录 矩阵 螺旋 随想

代码随想录训练营的第二天(Python)| 977.有序数组的平方、209.长度最小的子数组

977.有序数组的平方 暴力求解(O(n+logn)) class Solution: def sortedSquares(self, nums: List[int]) -> List[int]: return sorted(i**2 for i in nums) 双指针(O(n)) 由于列表是单调 ......
数组 随想录 训练营 随想 长度

AtCoder Regular Contest 166

Preface 上周末因为上课而且这天下午还有CF要打,所以就没现场打这场ARC了 这两天事情也特别多导致写题的时间很少,摸了好久总算是补了四个题 A - Replace C or Swap AB 感觉是我做法复杂了,怎么A题码量好大 首先我们找到所有\(Y\)中为\(C\)的位置,显然对应的\(X ......
AtCoder Regular Contest 166

题解 AtCoder wtf22_day1_b【Non-Overlapping Swaps】

给定一个排列,要求交换最多 $n-1$ 对元素,使得这个排列变成 [1,2,...,n] 的有序排列。 当然没有那么简单,对于交换还是有限制的,对于相邻的两次交换,不妨叫做 $(l_i, r_i)$ 和 $(l_{i+1}, r_{i+1})$,必须满足**这两个交换所对应的区间,没有交集**,即... ......

2020-2021 ICPC, NERC, Southern and Volga Russian Regional Contest (Online Mirror, ICPC Rules) N. Waste Sorting

有五种种类的垃圾,数量分别为 \(a_1, a_2, a_3, a_4, a_5\) 。 第一种为纸质垃圾 第二种为塑料垃圾 第三种双非垃圾 第四种基本纸质垃圾 第五种基本塑料垃圾 有三种垃圾桶,容量分别为 \(c_1, c_2, c_3\) 。 第一种垃圾桶可以放入:纸质垃圾和基本纸质垃圾 第二种 ......
ICPC Southern Regional Contest Russian

LeetCode Day02 977&209&59

第一题是[977. 有序数组的平方]这题解题思路依旧可以用双指针,指针分别指向数组的头尾两端,然后对两端求乘积比较大小,把乘积值更大的存储到数组尾端,然后指针更新位置,代码如下。 public int[] sortedSquares(int[] nums) { //res用于存储平方和结果 int[ ......
amp LeetCode Day 977 209

The 2021 Sichuan Provincial Collegiate Programming Contest

\(E. Don’t Really Like How The Story Ends\) \(dfs\)的时候如果一个点没有子节点,可以回溯,在父节点上找后续节点。如果找到了一个更大的节点,那么必须要与当前目标连接,然后回溯回来的时候如果目标值比当前的值更小说明仍有后续节点可以用,必须还在这个节点接后 ......

Atcoder Grand Contest 016 E - Poor Turkeys

先思考这样一个问题:对于一只火鸡 \(i\),我们应该如何判断它最后是否能活下来。如果我们正着判断,我们其实并没有足够的证据表明每一次操作我们应该保留哪只火鸡,也就没法判断最终的答案。但是如果我们倒着考虑,我们发现,如果最后一次操作的两个火鸡都不是 \(i\),那么这次操作选啥对答案没有影响,而如果 ......
Atcoder Contest Turkeys Grand Poor

April Fools Day Contest 2021 A. Is it rated - 2

询问若干个问题,每个问题用一段字符串表示,存在空格。每个问题一行,对于每个回答,只需要输出 \(NO\) 。 view1 #include <bits/stdc++.h> char s[1000005]; void solve(){ while (fgets(s, 1000005, stdin) ! ......
Contest April Fools rated 2021

2021-2022 ACM-ICPC Nordic Collegiate Programming Contest (NCPC 2021) gym 104670 C

原题 容易想到最短路 DAG 求出来,起初我以为要求最小割,但这是错误的,因为可能有多条边联通了一个点的情况,这时候选择最小割不一定是最优的 我们猜想一个思路:答案一定是包含 \(1\) 号节点的连通块全部填 \(N\) ,剩下的填 \(S\) 。发现在最短路 DAG 中, \(1 \rightar ......
2021 Programming Collegiate ACM-ICPC Contest