
ACM
算法题解
CRRRRR2016
这个作者很懒,什么都没留下…
展开
-
2018icpc D.Country Meow 最小球覆盖
题意:题目给n个三维点坐标(x,y,z),现在希望存在一个点,使得这个点到所有n个点的最大距离最小,然后求该最大距离。即用一个半径最小的球把所有点都放进去,求该球半径思路:看了半天最小圆,然后发现这个直接可以三分球心坐标ac代码:#include <bits/stdc++.h>using namespace std;typedef long long ll;co...原创 2018-11-29 15:54:48 · 418 阅读 · 0 评论 -
2018 EC-final I题 Misunderstood Missing(DP)
题面:链接:https://ac.nowcoder.com/acm/contest/366/I题意:给定A和D初始值为0,一共n次操作,每次操作前会自动让A加上D的值,操作共有三种选择: 1.输出A+a[i] 2.D加上b[i] 3.A加上c[i] 求n次操作后输出和的最大值思路:一开始...原创 2019-01-16 09:18:19 · 353 阅读 · 0 评论 -
ZOJ4027 浙江2018省赛 Sequence Swapping (DP)
题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=5768题意:给一只含括号符号的串,每个符号一个权值v[i],相邻的'('和')'可以交换[左括号在前],贡献为两个符号的权值积,即第i位和第i+1位若符合交换条件,则交换之后答案值加上v[i]*v[j],求最大的答案值思路:把左括号和右括号分别存在两个数组里,然...原创 2019-01-16 13:58:31 · 364 阅读 · 0 评论 -
Codeforces Round #533 (Div. 2) E. Helping Hiasat (最大独立集--最大团模板)
题目链接:http://codeforces.com/contest/1105/problem/E题意:一共两种操作,1操作是改名字,2操作是朋友用名字访问,如果一个朋友每次访问的时候都是该朋友的名字,那这个朋友就会开心,求最多有几个开心的朋友思路:每个1操作后面连续2操作的人只有一个可以被满足,所以这些人是互斥的,可以想到求最大独立集就是答案。读图的时候在互斥的人之间连边,然后做补图,最...原创 2019-01-22 10:32:51 · 725 阅读 · 0 评论 -
zoj月赛 B题 Little Sub and his Geometry Problem zoj4082
题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=4082题意:题目给k个点(x,y),所有点1<=x<=n,1<=y<=n,然后q次询问,一个点p的权值为所有在p左下方的点到p的曼哈顿距离(x差值和y差值的和)和,一共q次询问,每次给一个常数c,求点P个数,P(x,y)满足1<=x...原创 2019-01-23 11:13:23 · 293 阅读 · 0 评论 -
zoj 月赛 G题 Little Sub and Tree zoj4087
题目链接:acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=5866题意:给一颗树,点集s中每个点a到树上所有点的距离序列都不同, 求对于所给树的最小点集s思路:存成一个无向图,然后从入度最大的点开始dfs,可以画图看到每个节点除了父亲节点之外其他的连接节点中最多一个子树可以不放在点集中,且该子树只能为单链状的。每个点都记录一个序号,初...原创 2019-01-23 14:00:19 · 505 阅读 · 0 评论 -
2017ACM/ICPC亚洲区沈阳站-HDU 6219(最大空凸包--几何叉积+DP)
题意:给定n个点,任选x个点作为节点,若构成凸多边形且该多边形内没有点(不包括边界),则该凸多边形合法,求面积最大的合法凸多边形,输出其面积值思路:遍历所有点,以任一点Px作为凸多边形左下角(移至坐标原点),逆时针扫该点所有右上角的点对(Pi,Pj),遍历所有点通过叉积判断PxPiPj构成的三角形中是否有点,若无则合法,再判断逆时针排序Pj的上一个点是否与其共线,若共线,则上一个三角形的边界上...原创 2019-03-21 12:13:21 · 366 阅读 · 0 评论 -
POJ 1556 The Doors 计算几何(叉积+最短路dij)
题目链接:http://poj.org/problem?id=1556题意:一个10*10的方格中,起点为(0,5),终点为(10,5),横坐标0-10中间有n(n<=18)堵墙,第i墙的横坐标为xi,每堵墙中间有两个门,坐标会在题意中给出,求起点到终点的最短路径长度思路:可推断出,最短路径一定是某个门端点到其他门端点距离的和,所以将门都转换为点,可以通过dijsktra直接求最短路...原创 2019-03-23 10:38:52 · 208 阅读 · 0 评论 -
hihocoder1636 ACM-ICPC北京赛区2017网络同步赛 J题 (区间DP)
题目链接:https://hihocoder.com/problemset/problem/1636题意:给定n,l,r三个参数和一个长度为n的数组p,每次可以将长度为x(l<=x<=r)的连续区间合并为一个点,代价为该区间和值,该点的权值也为该区间和值,问将p数组合为一个点所需的最小代价和,若不能合并为一个点,则输出0思路:区间dp,先遍历所有可能区间的长度,按照区间长度遍历...原创 2019-03-23 10:48:34 · 243 阅读 · 0 评论 -
hihocoder 1634 ACM-ICPC北京赛区2017网络同步赛H题 Puzzle Game (DP最大子矩阵和)
题目链接:http://hihocoder.com/problemset/problem/1634?sid=1477014题意:给一个n*m的矩阵,其最大子矩阵为矩阵内所有值的和最大的一个子矩阵,现给一个值p,从矩阵中任选一个值替换为p或者不操作,问所有可能操作结果矩阵的最大子矩阵和的最小值为多少思路:(u[i],d[i], l[i], r[i])四个数组分别代表第i行(列)向上(向左、向...原创 2019-03-28 15:17:58 · 252 阅读 · 0 评论 -
最大子矩阵和(DP模板)
1.一维矩阵最大子矩阵和的dpint tmp = 0;MAX = -inf;for(int i=0;i<n;i++){ if(tmp>0) { tmp+=a[i]; } else tmp = a[i]; MAX = max(tmp,MAX);}2.二维矩阵最大子矩阵和降维dpfor(int ...原创 2019-03-28 15:26:15 · 348 阅读 · 0 评论 -
计算几何简单模板
const double eps = 1e-8;//点或向量typedef struct Point{ double x, y; Point(double a=0, double b=0) { x = a, y = b; } const Point operator+(const Point &p)const { return Point(x + p.x, ...原创 2019-03-30 21:02:03 · 254 阅读 · 0 评论 -
POJ 2826 An Easy Problem?!(计算几何)
题目链接:http://poj.org/problem?id=2826题意:有两条长度相等的线段(两块木板),端点坐标均已给出,问若下雨,则两块木板拼成的容器可以容纳多少雨水(用面积表示)思路:写了之后才明白题目标题里的?!.....简直是本人一个下午的状态了....说好的easy呢..WA到真的自闭....... 1.先考虑两个线段是否有交点,若无交点或者共线,则输...原创 2019-03-30 21:26:53 · 212 阅读 · 0 评论 -
POJ 2074 Line of Sight (计算几何--视线遮挡问题)
题目链接:http://poj.org/problem?id=2074题意:(这道题本身不难,,但是我一开始题意读错,就一直脑壳疼....)题目先给了两条线段,L1表示房子,L2表示道路,然后给出n条线段表示障碍物(所有线段均平行x轴),然后问道路上最大的能看到整个房子的连续道路区间思路:1.只考虑y坐标在L1和L2之间的障碍物 2.求出每个障碍物遮挡的道路盲区区间...原创 2019-04-01 16:02:41 · 1043 阅读 · 0 评论 -
2016ACM/ICPC亚洲区沈阳站 HDU5954 Do not pour out (积分+二分)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5954题意:有一个圆柱形杯子,地面为半径为1的圆,高为2.现在给定一个实数d为杯子中水面的高度,问将杯子倾斜到最大角度且杯中水不溢出水面时的水面表面面积思路:代码:#include <iostream>#include <cstdio>#include ...原创 2019-04-11 16:39:21 · 447 阅读 · 0 评论 -
牛客练习赛43 F题 Tachibana Kanade Loves Game (容斥)
题目链接:https://ac.nowcoder.com/acm/contest/548/F题意:玩家初始血量为k, 对手初始血量为p,玩家手中有编号为1~n的n件武器,每使用一件对手就会掉一滴血,每件只能使用一次,对手有编号为2~m的m-1件武器,每件可以无限次重复使用,若玩家使用第i件武器时,对手有一件j武器(满足j是i的因数),则玩家也掉一滴血,谁血量先为0则输掉游戏,问玩家保持最优策略...原创 2019-04-12 18:06:50 · 405 阅读 · 0 评论 -
ZOJ 4098 浙大校赛I题 Defense Plan(dfs+递推剪枝)
题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=5987题意:一共有n个城堡,如果给一个城堡i装备武器,那么其攻击值为w[i],否则为1,所有城堡攻击值总量为每一个城堡攻击值的乘积,现在给m个互斥条件,每个互斥条件表示x和y两个城堡不可同时装备武器。假设一共有k种装备方案,装备方案i的所有城堡攻击值为xi,则定义方...原创 2019-04-15 12:23:03 · 293 阅读 · 0 评论 -
ZOJ 4093 浙大校赛D题 Robot Cleaner II(思维+构造题)
题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=4093题意:题意基于ZOJ4092题意的基础上,给一个12*12的矩阵,矩阵中值为1的即这个点是墙,为0即为空地,为2即为空地上有一个垃圾。现在有6种操作,'U','D','L','R',表示向上下左右四个方向移动一步,如果下一步是墙就留在原地,'I'是停留原地...原创 2019-04-15 21:45:07 · 367 阅读 · 0 评论 -
第十五届华中科大网络赛 B题 Balls (打表找规律+组合数卢卡斯递推)
题目链接:https://ac.nowcoder.com/acm/contest/560/B题意:给定k,s,p三个变量,若s >=x1+x2+x3+...xk,那么,T=x1*x2*x3*...xk,若x1~xk存在一个数不一样则为不同情况,求所有不同情况的T的和(模上p)思路:先dfs按(k,s)暴力打个表: ...原创 2019-04-18 11:12:06 · 409 阅读 · 0 评论 -
2018ACM ICPC Asia Regional-Seoul L题 Working Plan(贪心)
题面:题意:一共有m个工人,第i个工人一共工作wi天,一共有n天,第i天共有di个人工作,且每个人只要开始工作就必须连续工作w天,每次工作结束,至少休息h天才开始下一次工作,现在题目给n,m,w,h,数组w[i]和数组d[i],问有没有合理的安排方案满足所给条件,按输入顺序输出每个人的工作安排,每行表示一个人的工作安排,按照日期升序输出每次工作开始的天数思路:把d[i]数组预处理成有几...原创 2019-04-19 17:46:11 · 579 阅读 · 0 评论 -
The Preliminary Contest for ICPC China Nanchang National Invitational C题 Angry FFF Party(大数+矩阵快速幂打表)
题目链接:https://nanti.jisuanke.com/t/38222题意:定义F(X)为一个斐波那契函数(F(1) = F(2) = 1),给定一个整型大数w,若满足w = F(F(s1))+F(F(s2))+....F(F(sk))且任意sisj(1<=i,j<=k,且ij),则输出所有解中字典序最小的序列S,若不满足则输出-1思路:看w的范围可以判断这是个大...原创 2019-04-21 17:03:28 · 184 阅读 · 0 评论 -
JAVA大数排序
大数类排序import java.lang.reflect.Array;import java.math.BigDecimal;import java.math.BigInteger;import java.util.*; public class Main { public static void main(String[] args) { Scanner cin=ne...转载 2019-04-23 14:54:16 · 504 阅读 · 0 评论 -
Codeforces Round #554 (Div. 2) D题 Neko and Aki's Prank (记忆化dfs)
题目链接:http://codeforces.com/contest/1152/problem/D题意:给定一个数字n,构造一个长度为2n的括号序列,每个‘( ’都能在其右边找到唯一对应的‘ )’则为合法序列,根据所有合法情况建一棵树,现有一个边集S满足集合内所有边均无公共点,求该边集的最大值(对1e9+7取模)思路:从前三个样例就可以发现,只要保证间隔的边都取就一定会得到最大的边集,那么...原创 2019-04-25 12:08:36 · 388 阅读 · 0 评论 -
Educational Codeforces Round 63 (Rated for Div. 2) D题 Beautiful Array(DP)
题目链接:http://codeforces.com/contest/1155/problem/D题意:给一个数组a,一个整数x,可以挑选数组a的任意一个连续区间(可以为空)将区间内的值都乘以x,求操作之后得到的最大连续子区间和值思路:dp[i][0]存0~i位中都没乘过x的以第i位结尾的子区间的最大和,dp[i][1]存0~i位中以i位结尾的子区间且该子区间结尾部分是乘以x的,dp[i]...原创 2019-04-25 16:25:43 · 247 阅读 · 0 评论 -
2018-2019 ACM-ICPC Nordic Collegiate Programming Contest E题 Explosion Exploit (状压+记忆化dfs)
题目链接:https://codeforc.es/gym/101933/problem/E题意:玩家和敌手进行游戏,玩家有n枚棋子,敌手有m枚棋子,每枚棋子剩余血量均给出,现一共出现d次攻击,从所有棋子中随机挑选一个攻击,攻击值为1,若棋子血量为0则消失,问敌手全部棋子均消失的概率思路:题目数据量很小,可以dfs,但是如果直接暴力搜会t,需要记忆化,但是要把所有状态存下来,如果开一个11维...原创 2019-04-26 17:23:05 · 380 阅读 · 0 评论