
多校
到不了的远方-
I wanna be number one
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Keen On Everything But Triangle
Keen On Everything But Triangle题意:给定区间,从区间里取3个数问能组成的最大三角形周长。思路:主席树模板题,每次求区间剩下的最大,次大,第3大。#include<cstdio>#include<cstring>#include<algorithm>using namespace std;typedef...原创 2019-07-24 20:09:15 · 712 阅读 · 0 评论 -
2019杭电多校第七场1011:Kejin Player
Kejin Player题意:每升一级要花费ai,升级有ri/si的几率成功,失败掉到xi级,给出q个询问,求出l到r级的花费。思路:尝试次数temp=s/r,尝试了temp次,那么有temp次失败了,一次成功。当前等级花费为sum[i],sum[i+1]=(temp-1)*(sum[i]-sum[xi]+ai)(失败)+ai成功。#include<bits/stdc+...原创 2019-08-13 11:06:13 · 282 阅读 · 0 评论 -
2019 Multi-University Training Contest 10 1003:Valentine's Day
Valentine's Day题意:任选k个礼物,求能使得女朋友高兴一次的最大概率。思路:枚举能使得概率变大的p即可。代码:#include<bits/stdc++.h>using namespace std;double p[10005];const double eps=1e-7;int main(){ int T; scanf("%d",&a...原创 2019-08-21 20:30:51 · 316 阅读 · 0 评论 -
2019牛客暑期多校训练营(第十场)J:Wood Processing
Wood Processing题意:n块木板拼成k块。拼接的方式是横向连接,纵向选择一个不高于最高高度的h使得所有块里面的高度相等。去掉的高度是浪费的东西,求最小的浪费量。思路:设dp[i][j]表示前i块木板拼接成j块的最少花费。dp[i][j]=min(dp[k][j-1]+sum[i]-sum[k]-(sumw[i]-sumw[k])*h[k+1]) k从0枚举到i-1。...原创 2019-08-20 17:01:00 · 463 阅读 · 0 评论 -
2019牛客暑期多校训练营(第十场)F:Popping Balloons
Popping Balloons题意:选3条横线,3条竖线,相邻线之间的距离不超过r,求能穿过的最大点数。思路:考虑只有一条横线,一条竖线的情况。利用竖线权值线段树维护该横坐标能通过的点数,枚举竖线,考虑该点会重复计算,所以先取出来,计算完后再加回去。3条横线,3条竖线类似。代码:#include<bits/stdc++.h>using namespace ...原创 2019-08-20 15:27:09 · 266 阅读 · 0 评论 -
All-one Matrices
All-one Matrices题意:求出所有没被其他子矩阵包括的所有全1矩阵。思路:对于每个格子(i,j),记录它能向上延升的距离。同时还要记录它能向左延申的位置,那么对于一个全1矩阵,(i-up+1,pos)->(i,j)就符合要求,我们从底往上枚举即可,用单调栈维护。#include<bits/stdc++.h>using namespace st...原创 2019-08-11 10:40:20 · 703 阅读 · 0 评论 -
2019牛客暑期多校训练营(第十场)D:Han Xin and His Troops
Han Xin and His Troops扩展中国剩余定理模板题,但是会爆long long。java大数代码import java.math.BigInteger;import java.util.Scanner;import java.util.*;import java.io.*;public class Main { static BigInteger a[]=n...原创 2019-08-20 08:51:16 · 161 阅读 · 0 评论 -
2019牛客暑期多校训练营(第十场)B:Coffee Chicken
Coffee Chicken题意:给定两个字符串构成斐波拉契数列,问第n个字符串的从第k个字符开始的10个字符。思路:因为k最大是1e12。所以预处理500个即可,然后递归求解。代码:#include<bits/stdc++.h>using namespace std;typedef long long ll;ll f[510],k;const ll ...原创 2019-08-20 08:35:02 · 178 阅读 · 0 评论 -
2019杭电多校第七场1010:Just Repeat
Just Repeat题意:两个人轮流出牌,规定出的牌的颜色不能和对方已经出过的牌一致,谁不能出牌,谁就输了。思路:每个人优先出的牌的颜色肯定是场上没出过的,对方也持有的,并且两个人手中持有数量最多的牌.对方持有的越多意味着可以封掉更多的牌,而自己手里的越多意味着可以防止自己更多的牌被封掉.因此将手里的牌统计好,从大到小分配,最后看手里牌数量即可判断输赢。可能会卡m...原创 2019-08-14 10:36:23 · 237 阅读 · 0 评论 -
2019杭电多校第七场1001:A + B = C
A + B = C题意:给定 a b c 求出 x y z 使得 a * 10^x + b * 10^y = c * 10 ^z 。思路:a + b = c,要么a+b有进位,要么没有进位。那么判断题目是否有解只要判断 b | ( c - a ) (|)是整除符号。 b | ( c*10 - a ) ,a | ( c*10 - b ) ,a | ( c- b ) 四种情...原创 2019-08-13 17:02:03 · 279 阅读 · 0 评论 -
2019杭电多校第七场1006:Final Exam
Final Exam题意:有n个题目,总共m分,每个题目可能的分值为 0--m 。答对一道题最少要复习分值加1的时间,问答对k题需要的最少复习时间。思路:出题人可能会卡掉你分值小的n-k+1 个题目,最坏的情况是 m 的分值平均分配到 n - k + 1个题目上。那么剩下的 k - 1 个题目我们花费大于其中 n - k + 1 个题目的最大值。最后再保证其中的 n - k +...原创 2019-08-13 15:34:13 · 207 阅读 · 0 评论 -
sequence
sequence题意:求一段区间里面a数组的最小值乘b数组的区间和,求的该值的最大值。思路:单调栈维护ai左右延伸区间,线段树维护b数组前缀和数组的最大最小值。#include<bits/stdc++.h>using namespace std;typedef long long ll;const int maxn=3e6+5;ll sum[maxn],m...原创 2019-07-28 17:14:21 · 757 阅读 · 0 评论 -
Vacation
Vacation题意:在一条道路上,有许多车,给定位置速度以及车长,问你到达终点的时间,你会被你前面车速小于你的挡住导致你只能跟它跑一样的速度。思路:思维题,考虑每辆车被挡住的情况,最后取一遍最大值,答案就是这个最大值#include<bits/stdc++.h>using namespace std;typedef long long ll;ll l[10...原创 2019-07-23 15:38:58 · 497 阅读 · 0 评论 -
Path
Path题意:求最少的花费使得从1到n的距离变长。思路:跑两次最短路,如果d[u]+d[v]+w==d[n]那么在最短路上,用这些边建图,跑最大流即可。代码来自:https://blog.youkuaiyun.com/qq_41730082/article/details/96874510#include "bits/stdc++.h"#define INF 0x3f3f3f3f...原创 2019-07-23 15:32:02 · 201 阅读 · 0 评论 -
Equivalent Prefixes
Equivalent Prefixes题意:选择最大的p,使得a数组和b数组1到p的任意子区间里面最小值的下标相同。思路:1.笛卡尔树。2.用数组记录每个数左边第一个小于它的数,最后比较两个数组相同的最大位置即可。版本1#include<bits/stdc++.h>using namespace std;const int maxn=1e5+5;...原创 2019-07-19 09:36:23 · 344 阅读 · 0 评论 -
Second Large Rectangle
Second Large Rectangle题意:从一个01矩阵里面找到全是1的第二大的矩形面积。思路:悬线法求最大的标记一下,第二大的就容易求出来了。#include<bits/stdc++.h>using namespace std;const int maxn = 1005;int a[maxn][maxn];int vis[maxn][maxn]...原创 2019-07-21 08:58:06 · 304 阅读 · 0 评论 -
Operation
Operation题意:两种操作,0 l r在l,r之间任意选择一些数使得异或值最大。1 x在末尾插入x值。思路:维护一个前缀线性基即可。#include<bits/stdc++.h>using namespace std;const int N=1e6+5;int n,q,c[N];int pos[N][30],p[N][30];void inser...原创 2019-07-23 15:21:59 · 1834 阅读 · 0 评论 -
2019 Multi-University Training Contest 10 1005:Welcome Party
Welcome Party题意:有n个学生,每个学生都有歌唱和相声能力。选择一个集合A,一个集合B。使得集合A里面的最大值与集合B的最大值的差值最小。思路:按歌唱能力从大到小枚举,枚举到当前学生的歌唱能力,那么比该学生歌唱能力强的都应该去表演相声,用multiset维护一下。同时其他的还没有枚举到的找到当前学生唱歌能力的最接近的值。最后对答案取下min即可。代码:#inc...原创 2019-08-22 10:00:12 · 416 阅读 · 0 评论