摘要:传送门:Largest Box题意:长度为L宽度为W的纸四个角去掉x*x的正方形,然后形成一个长方体,问能组成长方体的最大体积为多少。分析:三分x求最值。#include #include #include #include #define N 100010#define mod 100000000...
阅读全文
摘要:传送门:Josephus Problem题意:经典约瑟夫问题,有n个人,每次数到第k个人出列,求剩下的最后一人。分析:用线段树模拟约瑟夫问题,记录区间的减少情况,然后根据每次数到的人在区间排第几位,线段树log(n)找到并更新,总复杂度为O(nlog(n))。#include #include #i...
阅读全文
摘要:传送门:Surround the Trees题意:求凸包的周长。分析:凸包模板题,先按极角排好序后,然后根据叉积正负确定凸包。#include #include #include #include #include using namespace std;const double eps = 1e-...
阅读全文
摘要:传送门:An Easy Problem?!题意:用两条线段接雨水,雨水是垂直落下的,问我们用给定的两条线段能接到多少水。分析:看起来很简单,写起来略麻烦,先排除不能接到水的情况: 1. 两条线段不相交; 2. 其中任意一条线段水平; 3. 两条线段重合; 4. 相交的情况下,最高的端点遮住了...
阅读全文
摘要:传送门:Intersecting Lines题意:给出N组直线,每组2条直线,求出直线是否相交。如果共线则输出LINE,相交则输入点坐标,否则输出NONE.分析:模板裸题,直接上模板。。。#include #include #include #include #include #include #i...
阅读全文
摘要:传送门:Segments题意:线段在一个直线上的摄影相交求求是否存在一条直线,使所有线段到这条直线的投影至少有一个交点分析:可以在共同投影处作原直线的垂线,则该垂线与所有线段都相交 是否存在一条直线与所有线段都相交。去盗了一份bin神的模板,用起来太方便了。。。#include #include #...
阅读全文
摘要:传送门:You can Solve a Geometry Problem too题意:给n条线段,判断相交的点数。分析:判断线段相交模板题,快速排斥实验原理就是每条线段代表的向量和该线段的一个端点与 另一条线段的两个端点构成的两个向量求叉积,如果线段相交那么另一条线段两个端点必定在该线段的两边,则该...
阅读全文
摘要:传送门:Cool Points题意:给一个圆心为原点的圆和一些线段,问所有线段两端点与圆心连线构成的角度总和占总360度的百分比。分析:首先将所有线段的两端点变成极角,然后排序(范围[-PI,PI],即从x轴负方向逆时针转一圈),如果某一线段极角值之差大于PI,构成的角度值肯定不是#include ...
阅读全文
摘要:传送门:Ignatius and the Princess IV题意:给n个数,找出出现次数大于等于(n+1)/2的那个数。分析:大水题,排个序输出中间那个即可,这里随便写个HASHMAP找出次数最大那个。#include #include #include #define N 1000010#de...
阅读全文
摘要:传送门:Max Sum Plus Plus题意:从n个数中选出m段不相交的连续子段,求这个和最大。分析:经典dp,dp[i][j][0]表示不取第i个数且前i个数分成j段达到的最优值,dp[i][j][1]表示取了第i个数且前i个数分成j段达到的最优值。那么有:dp[i][j][0]=max(dp[...
阅读全文
摘要:传送门:DISUBSTR题意:给定一个字符串,求不同子串个数。分析:由于数据较小,直接枚举长度为1,2...n的所有子串进行hash即可,复杂度(O(n^2)),后缀数组才是正解(O(nlogn)。#include #include #include #include #include #inclu...
阅读全文
摘要:传送门:DISUBSTR题意:给定一个字符串,求不相同的子串。分析:对于每个sa[i]贡献n-a[i]个后缀,然后减去a[i]与a[i-1]的公共前缀height[i],则每个a[i]贡献n-sa[i]-height[i]个不同子串。#include #include #include #inclu...
阅读全文
摘要:传送门:S-Nim题意:给n个数的集合s, 再给m 组数据,每组表示 k 堆石子,每次可以取的个数只能是集合s中的数量。问先手胜还是输?分析:sg函数的经典运用,先预处理出所有数量为0~10000的石子的sg值,然后判断k堆石子的sg值异或和是否为0来判断先手的输赢。#include #includ...
阅读全文
摘要:传送门:windy和水星 -- 水星游戏 2题意:在一张由 n*m 的格子组成的棋盘上放着 k 个骑士每个骑士的位置为(xi,yi),表示第xi行,第yi列骑士如果当前位置为(x,y),一步可以走的位置为(x-2,y-1)(x-2,y+1)(x-1,y-2)(x+1,y-2)两人对弈,每次移动至少一...
阅读全文
摘要:传送门:windy和水星 -- 水星游戏 1题意:在一张由 n*m 的格子组成的棋盘上放着 k 个骑士每个骑士的位置为(xi,yi),表示第xi行,第yi列骑士如果当前位置为(x,y),一步可以走的位置为(x-2,y-1)(x-2,y+1)(x-1,y-2)(x+1,y-2)两人对弈,每次移动一个骑...
阅读全文
摘要:传送门:Negative and Positive (NP)题意:给定一个数组(a0,a1,a2,⋯an−1)和一个整数K, 请来判断一下是否存在二元组(i,j)(0≤i≤j#include #include #include #include #include #include #include ...
阅读全文
摘要:传送门:The Flood题意:当水的高度升为多少的时候,能够将这块区域分为两个部分.分析:枚举高度,先从外围开始一次dfs,将水能淹没的标记,然后看非标记的是否已分为多块。#include#include#include#include#define inf 0x7fffffff#define L...
阅读全文
摘要:传送门:beautiful number题意:令 A=∑ni=1ai?10n?i(1≤ai≤9)(n为A的位数)。若A为“漂亮的数”当且仅当对于任意1≤i#include #include #include #include #include #include #include #include #...
阅读全文
摘要:传送门:Reactor Cooling题意:给n个点,及m根pipe,每根pipe用来流躺液体的,单向的,每时每刻每根pipe流进来的物质要等于流出去的物质,要使得m条pipe组成一个循环体,里面流躺物质。并且满足每根pipe一定的流量限制,范围为[Li,Ri].即要满足每时刻流进来的不能超过Ri(...
阅读全文
摘要:传送门:A and B and Lecture Rooms题意:给定一棵树,每次询问到达点u,v距离相等的点有多少个。分析:按情况考虑:1.abs(deep[u]-deep[v])%2==1时,必定不存在到达u,v距离相等的点。2.如果deep[u]==deep[v]时,ans=n-num[lca(...
阅读全文