首页 > 其他分享 >AtCoder Beginner Contest 270

AtCoder Beginner Contest 270

时间:2022-09-25 22:37:42浏览次数:85  
标签:二分 AtCoder code Beginner 源点 港口 玩家 270 dp

A. 1-2-4 Test

水题。

B. Hammer

分裂讨论。
code

C. Simple path

一遍 dfs 就完了,怎么还有这种搜索题!
code

D. Stones

观察数据范围,\(O(NK)\) 可过。

\(dp_i\) 表示 \(i\) 块石头,第一个玩家最多可以拿走的石头数量。

枚举当前玩家选哪一个数值进行转移即可。 \(dp_i=\max\{dp_i, i-dp_{i-a_i}\}\)。因为下一个操作的人是另一个玩家,每个人都采取最有策略,则第一个玩家最大拿到的就是 \(i-dp_{i-a_i}\)。

code

E. Apple Baskets on Circle

最大关键在于找到拿了多少圈才拿完 \(K\) 个苹果。

考虑二分,转化为判定性问题,拿了 \(x\) 圈拿了多少个苹果?拿 \(x\) 圈等价于每一个果篮都走过 \(x\) 次,但是不一定能拿到 \(x\) 个,因为一个果篮拿空了就不能再拿了。

注意,二分的时候二分出完整的圈数,剩下还有一点点(不到一圈)直接扫一遍计算即可。

code

F. Transportation

如果除开港口和机场只有道路等价于最小生成树问题。

于是可以开一个虚拟源点,所有港口和虚拟源点连一条边,连完之后可以保证所有港口相连。机场也类似。

但是,有一个坑点,可以不开任何港口或任何机场,所以不一定所有的边都需要连,可以讨论 \(4\) 次,具体看代码。

code

标签:二分,AtCoder,code,Beginner,源点,港口,玩家,270,dp
From: https://www.cnblogs.com/stOtue/p/16729209.html

相关文章

  • ABC270D(fake)
    ……你家E比D水……题意有$N$颗石子,每次可以拿$A_1$或$A_2$或……或$A_K$颗石子。Takahashi是先手,Snuke是后手。他们都想让自己取的石子数尽......
  • ABC 270 C - Simple path(树+dfs)
    第一次写出比较正经的树+dfs,这不得写篇博客题目大意:给定一棵树,具有n个节点,给定n-1条边,给定一个起点和终点,让我们输出从起点到终点的路径。SampleInput1Copy5......
  • AtCoder Beginner Contest 270
    咕咕咕。D-Stones冲了发贪心,然后WA。然后想了个DP,就令\(dp_{n,0/1}\)表示石头总数为\(n\)时,先手/后手最多能拿多少个石头,然后跑个\(O(nk)\)的DP就完事了。......
  • AtCoder Beginner Contest 268(D-E)
    D-UniqueUsername 题意:给出n个字符串,以任意顺序排列,然后在每两个字符串中间加最少一个"_",然后给出m个字符串,问是否能得出一个字符串,不在这m个字符串中,并且长度在3-16......
  • 关爱2700多万听障者,手语服务助力无声交流
    如果有一天,周遭的世界突然变得很安静,动听美妙的音乐,在你看来只是沉寂;振奋人心的演讲,对你而言只是默剧;大自然的千里莺啼,于你来说也只是画卷。你会不会感到害怕?而有这么一群......
  • AtCoder Beginner Contest 043 题解
    欢迎来到我的算法小屋前言 TaskNameAChildrenandCandies(ABCEdit)BUnhappyHacking(ABCEdit)CBeTogetherDUnbalancedA1)题目描述2......
  • Atcoder 269
    T1:计算(a+b)*(c-d)输出字符串点击查看代码#include<bits/stdc++.h>usingi64=longlong;intmain(){std::ios::sync_with_stdio(false);std::c......
  • AtCoder Beginner Contest 258
    AtCoderBeginnerContest258LinkA-When?模拟即可.点击查看代码#include<bits/stdc++.h>usingnamespacestd;usingll=longlong;intmain(){intn;......
  • AtCoder Beginner Contest 269
    比赛链接A模拟即可。点击查看代码#include<bits/stdc++.h>#defineintlonglongusingnamespacestd;inta,b,c,d;signedmain(){ cin>>a>>b>>c>>d; cout<<(......
  • Atcoder 题集
    Atcoder题集E-Lucky7Battle博弈论,对抗性搜索,记忆化搜索#include<bits/stdc++.h>usingnamespacestd;stringt,x;intn;intf[200010][7];intdfs(inti,intr){......