
Atcoder
mxYlulu
ACM燃烧我的卡路里
展开
-
AtCoder Beginner Contest 144 F
比较简单的一场。不过还是没有完成AKAKAK最后一题把我做傻了,反正。因为没有看到s<ts<ts<t,所以一直在想环没法做。后来抛弃这个也没想出来,因为没看数据范围。首先枚举边肯定是不行,但是我们发现可以尝试转换成点,这样复杂度就是nmnmnm接近n3n^3n3,卡一卡还是可以的(数据也没出太满。怎么转换成点呢,因为只删一条边,所以对于每个点的出边,我们判断另一端点期...原创 2019-10-28 19:34:31 · 197 阅读 · 0 评论 -
AtCoder Beginner Contest 110
A - Maximize the Formula 题意:给定三个个位数,形成A+B的形式,问最大和,显然十位+个位,再其次十位越大,贡献越大,把十位放上最大的数字,其他随意不影响。 int a[3]; cin>>a[1]>>a[2]>>a[3]; sort(a+1,a+1+3); cout<<a[3]*10+a...原创 2018-09-24 21:41:24 · 371 阅读 · 0 评论 -
三分求极值 - Minimum Bounding Box
三分是指之前接触过的一个算法,但是没有用来写过题。最近atabc130at abc130atabc130的FFF题出到了,结果压根没想到要用三分。题意:对于nnn个点,要求使得这nnn个点xxx轴上的最大值-最小值和yyy轴上的最大值-最小值乘积最小。通过样例可以发现时间显然可以是小数。那么就是函数求极值的问题了。事实上,我并不会证明此题为什么是单峰函数。但是用三分可以忽略这些,直接解决。(...原创 2019-06-26 19:20:10 · 763 阅读 · 1 评论 -
atcoder abc F - Must Be Rectangular!
题意:有一个操作,对于一个矩阵的三个点,可以加上最后一个没有的点。问对于已经有的点能够实现多少次这样的操作?题解:我们考虑图:实际上一个可以操作的地方只要是连通的区域,就可以把这块区域的点填满。蓝色为已有的点,红色是后来加上的点,可以通过一点点加进来。只要在这个区域内的,线上的点都可以被填上。求出每个块内,所有点在的横线和竖线个数,相乘就是所有点。怎么求有多少个区域呢?我们可以...原创 2019-06-26 19:39:35 · 424 阅读 · 0 评论 -
AtCoder Beginner Contest 132 F
F - Small Products怎么说呢?目前超了自己水平两个档次的题。第一个档次熟练掌握dpdpdp第二个档次熟练掌握分块这道题:参考大佬要求求相邻元素乘积≤N≤N≤N的序列数。N≤1e9N≤1e9N≤1e9序列数考虑dpdpdp显然:dp[i][j]=∑x∗j≤Ndp[i−1][x]dp[i][j]=\sum_{x*j≤N}dp[i-1][x]dp[i][j]=∑x∗j≤N...原创 2019-07-04 23:49:38 · 455 阅读 · 0 评论 -
AtCoder Beginner Contest 139
E - League题意告诉你每个人要轮流和谁打,求最少天数打完题解队列模拟处理出第一次有谁能够打,加入队列。相当于当前队列里有第一天的比赛场次。每次比完之后释放然后继续加入第二天的比赛。所有队列最多有两天。而且第二天比赛需要两个人同时释放,所以就算只释放了一个也没有关系,因为释放到另一个的时候就会判断到。#include<bits/stdc++.h>#define...原创 2019-09-06 23:11:14 · 216 阅读 · 0 评论