但是会发现下取整这个操作非常难办,于是只能考虑优化这个操作:还是一样跑最短路,设当前是使用uu更新vv,假设dist[u]dist[u]是从1−>u1−>u的最短时间,现在要求vv的时间,如果在tt时刻出发走到vv的话,那么dist[v]=t+c[i]+d[i]/(t+1)(↓)dist[v]=t+c[i]+d[i]/(t+1)(↓)。
E:Dij,每次算距离的时候三分一下,三分的时候按照不下取整算实数来三分,因为如果下取整的话会出现平的一段导致不能三分。 详细题解和代码有空补。 A #include<iostream>#include<cstdio>template<typenameT>TMax(T x, T y){returnx > y ? x : y; }template<typenameT>TMin(T x, T y){returnx ...
AtCoder Beginner Contest 204 (AB水题,C题DFS,D题位运算DP,E题BFS好题),补题链接:HereA-Rock-paper-scissors石头剪刀布,两方是一样的则输出该值,否则输出该值ints[4]={0,1,2};voidsolve(){intx,y;cin>>x>>y;if(x==y)cout<<x;else{
AtCoder Beginner Contest 044(ABCD)题解 传送门 A - Tak and Hotels (ABC Edit) 思路:显然讨论一下 k k k的范围即可。 时间复杂度: O ( 1 ) O(1) O(1) #include<bits/stdc++.h> using namespace std; typedef long long ll; const int N=1e5+5,M=1e6+5,inf=0x3f3f3f3f...
F - Transpose(递归) G - Mediator(启发式合并 + lca) A - Past ABCs #include<bits/stdc++.h>usingnamespacestd;voidsolve(){strings;cin>>s;if(s[3]>='4'||s.substr(3)=="316"||s.substr(3)=="000"||(s[3]=='3'&&s[4]>='5'))cout<<"No\n";elsecout<<"Yes\n";}intmain()...
AtCoder Beginner Contest 399 A-F 简易题解,如果题解中有什么问题可以找我反馈,谢谢! A.Hamming Distance求 2 个字符串的相同位置有几个字符是不同的, for 循环遍历后判断即可。int main(){ int n; cin >> n; s… 枫落发表于Atcod... Atcoder Beginner Contest 400 题解(A~D) 热爱算法的...
B. Find snuke 枚举一个起点,再枚举方向,然后检验。 C. Almost Equal 用std::next_permutation枚举全排列。 D. Impartial Gift 把 排序,枚举 ,二分找到 中不超过 的最大的数,如果它不小于 则更新答案。 也可以把两个数组都排序之后双指针。 也可以每次检查两个数组中最大的数,如果差不超过 ...
按题意模拟。 B.Pasta 直接用multiset模拟选的过程,或统计每种数出现的次数。 C. Connect 6 枚举所有可能的横、竖、对角线判断即可。 D. Sequence Query 直接用multiset维护,询问时找到对应的迭代器向前/后移步即可。每次询问复杂度。 E. Putting Candies ...
题意: 题解 利用一个数能被3整除当且仅当其各位之和sum能被3整除。 如果sum本身能被3整除,则不需要删除。 否则统计原数的每一位数%3后的个数,比较%3 =1与%3 =2 的个数,有两种方法可以使其sum变为 %3 =0: %3=1 与%3=2,相互抵消,还剩下的差值即为答案。
·AtCoder Beginner Contest (ABC) 这是最频繁且最简单的入门赛,通常情况下每月至少举行2次。2019年4月27日(含)之前,每场比赛共4题,时长100分钟,满分1000分且Rating超过1199的选手不计Rating值。自2019年5月19日起改版升级为6道题目,时长不变,满分2100分且Rating值超过1999的选手不计Rating值。改版之后比赛质量...