
SSL题库
ssllyr
锦瑟无端五十弦,一弦一柱思华年。
展开
-
【SSL266⑥】勇闯黄金十二宫射手宫【最长公共子序列】
题意输入a,ba,ba,b数组各nnn个数,求最长公共子序列。分析先用桶做一个映射,然后每次找比他第一个比他大的位置放进去,求min。上代码#include<iostream>#include<cstdio>#include<algorithm>using namespace std;int a[100001],b[100001],m[100001],f[100001],len,n;int main(){ cin>>n; .原创 2022-01-19 16:52:14 · 140 阅读 · 0 评论 -
【SSL1213】多边形面积【计算几何】
分析两个条件:线段不能相交,能构成多边形。判断线段相交就是跨立实验+快速排斥实验。然后叉积求三角形面积就可以了。要开double!判断跨立的时候只用枚举所有组合就可以。上代码#include<iostream>#include<cstdio>#include<algorithm>#include<cmath>using namespace std;int n;double x[100001],y[100001];double ..原创 2022-01-18 09:28:33 · 219 阅读 · 0 评论 -
【poj1654】Area【叉积】
题目大意一个坐标系,从原点开始走,然后1-4分别代表,向右下走,向右走,向右上走,向下走,5代表回到原点,6-9代表,向上走,向左下走,向左走,向左上走。(看翻译直接无限WA),给出一串包含1-9的字符串,问你这些点所围成的面积分析因为输入的都是相邻的点,我们就每次记录一条线段两端的坐标,把这个三角形算出来(叉积/2)。最后取绝对值就可以上代码#include<iostream>#include<cstdio>#include<algorithm>#inc原创 2022-01-18 08:31:05 · 84 阅读 · 0 评论 -
【luoguP2785】磁通量【计算几何】
分析叉积求面积,乘上B。每个三角形面积相加,最后取绝对值上代码#include<iostream>原创 2022-01-18 08:27:26 · 137 阅读 · 0 评论 -
【51nod】线段相交【计算几何】
分析我们分两步确定两条线段是否相交: (1)快速排斥试验 设以线段 P1P2 为对角线的矩形为R, 设以线段 Q1Q2 为对角线的矩形为T,如果R和T不相交,显然两线段不会相交。 (2)跨立试验 如果两线段相交,则两线段必然相互跨立对方。若P1P2跨立Q1Q2 ,则矢量 ( P1 - Q1 ) 和( P2 - Q1 )位于矢量( Q2 - Q1 ) 的两侧,即( P1 - Q1 ) × ( Q2 - Q1 ) * ( P2 - Q1 ) × ( Q2 - Q1 ) < 0。上式可..原创 2022-01-18 08:24:54 · 271 阅读 · 0 评论 -
【SSL1715】计算面积【叉积】
Description 呆子是一个很聪明的人但也是一个很粗心的人,因此常常会丢三落四。一次老师给呆子留了一个很简单的题目,已知平面上一平行四边形的四个顶点,求这个平行四边形的面积。但粗心的呆子却只记了三个点的坐标,因此呆子现在和郁闷。你现在能帮助呆子计算一下老师留给呆子的平行四边形可能的最大面积是多少吗?Input 首先输入一个整数t表示测试数据的组数(1 =< t <= 30),接下来的t行,每行三对整数,表示呆子已知的平行四边形的顶点坐标。每对整数x, y(0<=x, y &原创 2022-01-18 08:18:56 · 75 阅读 · 0 评论 -
【SSL1232】雷达覆盖【叉积】
分析如果超出半径的点直接不要了。然后枚举以某个点为平角的时候,求两侧的覆盖数,取max。(半圆)判断两侧就用叉积上代码#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>using namespace std;int xx,yy,n,x[1010],y[1010],v[1010],mx;double r;bool dis(int a,int ..原创 2022-01-17 07:57:59 · 81 阅读 · 0 评论 -
【SSL2514】幼儿园数学题II【矩阵乘法】
分析把原式化为:fn=(n+4)(n−1)/2+f3+f4+f5+...+fn−3+fn−2 f_n=(n+4)(n-1)/2+f_3+f_4+f_5+...+f_{n-3}+f_{n-2}fn=(n+4)(n−1)/2+f3+f4+f5+...+fn−3+fn−2再把(n+4)(n−1)/2(n+4)(n−1)/2(n+4)(n−1)/2展开 得到(n2+3n−4)/2(n^2+3n-4)/2(n2+3n−4)/2 化为n2/2+3n/2−2n^2/2+3n/2-2n2/2+3n/2−.原创 2021-01-02 19:50:14 · 130 阅读 · 0 评论 -
【SSL2513】幼儿园数学题I【矩阵乘法】
分析暴力找规律其实题目的公式有点不完整。。。但是看到根号5就想到斐波那契的通项公式。百度百科原公式如下图:然后直接按斐波那契矩阵乘法搞就好了。就像这样上代码/*斐波那契通项公式*/ #include<iostream>#include<cstdio>#include<algorithm> using namespace std;typedef long long ll;ll n;const int mod=1000000007;st..原创 2021-01-02 19:24:03 · 236 阅读 · 0 评论 -
【SSL 例4】【洛谷U145243】斐波那契数列前n项的和【矩阵乘法】
洛谷linklinklink分析虽然我们有S[n]=F[n+2]−1S[n]=F[n+2]-1S[n]=F[n+2]−1,但本文不考虑此方法,我们想要得到更一般的方法。仿照之前的思路,考虑1×3的矩阵【f[n−2],f[n−1],s[n−2]】【f[n-2],f[n-1],s[n-2]】【f[n−2],f[n−1],s[n−2]】,我们希望通过乘以一个3×3的矩阵A,得到1×3的矩阵:【f[n−1],f[n],s[n−1]】=【f[n−1],f[n−1]+f[n−2],s[n−2]+f[n−1]】.原创 2020-12-26 17:09:24 · 197 阅读 · 0 评论 -
【SSL1531】斐波那契数列IV【矩阵乘法】
分析考虑1×4的矩阵【f[n−2],f[n−1],n,1】【f[n-2],f[n-1],n,1】【f[n−2],f[n−1],n,1】,希望求得某4×4的矩阵A,使得此1×4的矩阵乘以A得到矩阵:【f[n−1],f[n],n+1,1】=【f[n−1],f[n−1]+f[n−2]+n+1,n+1,1】【f[n-1],f[n],n+1,1】=【f[n-1],f[n-1]+f[n-2]+n+1,n+1,1】【f[n−1],f[n],n+1,1】=【f[n−1],f[n−1]+f[n−2]+n+1,n+1,1.原创 2020-12-26 15:54:24 · 235 阅读 · 0 评论 -
【SSL1530】斐波那契数列III【矩阵乘法】
分析考虑1×3的矩阵【f[n−2],f[n−1],1】【f[n-2],f[n-1],1】【f[n−2],f[n−1],1】,希望求得某3×3的矩阵A,使得此1×3的矩阵乘以A得到矩阵:【f[n−1],f[n],1】=【f[n−1],f[n−1]+f[n−2]+1,1】【f[n-1],f[n],1】=【f[n-1],f[n-1]+f[n-2]+1,1】【f[n−1],f[n],1】=【f[n−1],f[n−1]+f[n−2]+1,1】容易构造出这个3×3的矩阵A,即:剩下的就是模板了。上代码#in.原创 2020-12-26 15:36:43 · 250 阅读 · 0 评论 -
【SSL1529】斐波那契数列II【矩阵乘法】
分析考虑1×2的矩阵【f[n-2],f[n-1]】。根据fibonacci数列的递推关系,我们希望通过乘以一个2×2的矩阵,得到矩阵【f[n-1],f[n]】=【f[n-1],f[n-1]+f[n-2]】很容易构造出这个2×2矩阵A,即:所以,有【f[1],f[2]】×A=【f[2],f[3]】【f[1],f[2]】×A=【f[2],f[3]】【f[1],f[2]】×A=【f[2],f[3]】又因为矩阵乘法满足结合律,故有:【f[1],f[2]】×An−1=【f[n],f[n+1]】【f[1],f[.原创 2020-12-26 15:31:36 · 324 阅读 · 0 评论 -
【ssl1082】拦截导弹【最长不上升子序列】【最小路径覆盖】
Description某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度。某天,雷达捕捉到敌国的导弹来袭。由于该系统还在试用阶段,所以只有一套系统,因此有可能不能拦截所有的导弹。输入导弹依次飞来的高度(雷达给出的高度数据是不大于30000的正整数),计算这套系统最多能拦截多少导弹,如果要拦截所有导弹最少要配备多少套这种导弹拦截系统。Sample Input300 250 275 252 2原创 2020-08-22 15:22:35 · 160 阅读 · 0 评论 -
【ssl1333】地鼠的困境【最大匹配】【匈牙利算法】
Description地鼠家族面临着一个新的威胁——猎食者。 地鼠家族一共有N个地鼠和M个鼠洞,每个都位于不同的(x, y)坐标中。假如有地鼠在发觉危险以后s秒内都没有回到鼠洞里的话,就可能成为老鹰的食物。当然了,一个鼠洞只能拯救一只地鼠的命运,所有地鼠都以相等的速度v移动。地鼠家族需要设计一种策略,使得老鹰来时,易受攻击的地鼠数量最少。Input本题有多组数据。第1行为测试数据组数T(T<=50)。对于每组数据,第一行4个整数n, m, s和v(n, m <= 100)。以后n行为原创 2020-08-22 14:45:49 · 752 阅读 · 0 评论 -
【ssl1341】Asteroids【二分图】【匈牙利算法】【最大匹配问题】
DescriptionBessie wants to navigate her spaceship through a dangerous asteroid field in the shape of an N x N grid (1 <= N <= 500). The grid contains K asteroids (1 <= K <= 10,000), which are conveniently located at the lattice points of the g原创 2020-08-21 20:27:19 · 157 阅读 · 0 评论 -
【ssl1340】最小路径覆盖【最小路径覆盖】【最大匹配】
Description定义: 一个不含圈的有向图G中,G的一个路径覆盖是一个其结点不相交的路径集合P,图中的每一个结点仅包含于P中的某一条路径。路径可以从任意结点开始和结束,且长度也为任意值,包括0。请你求任意一个不含圈的有向图G的最小路径覆盖数。提示:最小路径覆盖数=G的定点数-最小路径覆盖中的边数最小路径覆盖数=原图G的顶点数-二分图的最大匹配数Inputt 表示有t组数据;n 表示n个顶点(n<=120);m 表示有m条边;接下来m行,每行有两个数 i,j表示一条有向边。Outpu原创 2020-08-22 15:05:37 · 157 阅读 · 0 评论 -
【ssl1344】Knight【二分图匹配】【最大独立集】
Description一张大小为n的国际象棋棋盘,上面有一些格子被拿走了,棋盘规模n不超过200。马的攻击方向如下图,其中S处为马位置,标有X的点为该马的攻击点。你的任务是确定在这个棋盘上放置尽可能多的马,并使他们不互相攻击。Input输入n,m,表示棋盘有n行,m个点在棋盘中被拿走了。下面输入x,y为被拿走的点的坐标Output输出能放置的最多的马的数量,使它们不互相攻击Sample Input3 21 13 3Sample Output5分析首先为什么是求最大独立集?原创 2020-08-22 08:07:19 · 137 阅读 · 0 评论 -
【洛谷P2704】【NOI2001】炮兵阵地【状压DP】
Description司令部的将军们打算在NM的网格地图上部署他们的炮兵部队。一个NM的地图由N行M列组成,地图的每一格可能是山地(用“H” 表示),也可能是平原(用“P”表示),如下图。在每一格平原地形上最多可以布置一支炮兵部队(山地上不能够部署炮兵部队);一支炮兵部队在地图上的攻击范围如图中黑色区域所示:如果在地图中的灰色所标识的平原上部署一支炮兵部队,则图中的黑色的网格表示它能够攻击到的区域:沿横向左右各两格,沿纵向上下各两格。图上其它白色网格均攻击不到。从图上可见炮兵的攻击范围不受地形的影响。原创 2020-08-20 10:51:24 · 172 阅读 · 0 评论 -
【ssl1383】车2(II)【状压DP】
Sample Input3 3 2Sample Output24分析做状压DP的我心态逐渐爆炸。首先我们要用DFS枚举每一行的状态。用a[js]a[js]a[js]表示状态的二进制数,num[js]num[js]num[js]表示每行棋子的个数。void dfs(int ans,int dep,int ff){ if(dep>n) { js++; a[js]=ans; num[js]=ff; return; } dfs(ans,dep+1,ff); df.原创 2020-08-19 21:55:24 · 158 阅读 · 0 评论 -
【ssl1502】校门外的树(加强版)【树状数组】
Description校门外有很多树,有苹果树,香蕉树,有会扔石头的,有可以吃掉补充体力的……如今学校决定在某个时刻在某一段种上一种树,保证任一时刻不会出现两段相同种类的树,现有两个操作:K=1,读入l,r表示在l~r之间种上的一种树K=2,读入l,r表示询问l~r之间能见到多少种树(l,r>0)Input第一行n,m表示道路总长为n,共有m个操作接下来m行为m个操作Output对于每个k=2输出一个答案Sample Input5 41 1 32 2 51 2 42 3原创 2020-08-19 08:27:29 · 246 阅读 · 1 评论 -
【洛谷P1983】车站分级【拓扑排序】
题目描述一条单向的铁路线上,依次有编号为 1,2,…,n的 n 个火车站。每个火车站都有一个级别,最低为 1 级。现有若干趟车次在这条线路上行驶,每一趟都满足如下要求:如果这趟车次停靠了火车站 x,则始发站、终点站之间所有级别大于等于火车站 x 的都必须停靠。(注意:起始站和终点站自然也算作事先已知需要停靠的站点)例如,下表是 5 趟车次的运行情况。其中,前 4趟车次均满足要求,而第 5 趟车次由于停靠了 3 号火车站(2 级)却未停靠途经的 6 号火车站(亦为 2 级)而不满足要求。现有 m 趟原创 2020-08-18 14:33:25 · 366 阅读 · 1 评论 -
【洛谷P4017】最大食物链计数【拓扑排序】
题目描述给你一个食物网,你要求出这个食物网中最大食物链的数量。(这里的“最大食物链”,指的是生物学意义上的食物链,即最左端是不会捕食其他生物的生产者,最右端是不会被其他生物捕食的消费者。)Delia 非常急,所以你只有 1 秒的时间。由于这个结果可能过大,你只需要输出总数模上 80112002的结果。输入格式第一行,两个正整数 n、m表示生物种类 n和吃与被吃的关系数 m。接下来 m行,每行两个正整数,表示被吃的生物A和吃A的生物B。输出格式一行一个整数,为最大食物链数量模上 801120原创 2020-08-17 14:42:13 · 923 阅读 · 1 评论 -
【ssl2876】【2017年东莞市信息学特长生测试题】工程【拓扑排序】【DP】
Description张三是某工程公司的项目工程师。一天公司接下一项大型工程,该公司在大型工程的施工前,先要把整个工程划分为若干个子工程,并把这些子工程编号为1、2、…、N;这样划分之后,子工程之间就会有一些依赖关系,即一些子工程必须在某些子工程完成之后才能施工,公司需要工程师张三计算整个工程最少的完成时间。对于上面问题,可以假设:1、根据预算,每一个子工程都有一个完成时间。2、子工程之间的依赖关系是:部分子工程必须在一些子工程完成之后才开工。3、只要满足子工程间的依赖关系,在任何时刻可以有任何多原创 2020-08-17 09:28:06 · 208 阅读 · 1 评论 -
【ssl1325】奖金【拓扑排序】【DP】
Description公司发奖金,Mr.Z下令召开m方会谈。每位参加会谈的代表提出了自己的意见:“我认为员工a的奖金应该比b高!”Mr.Z决定要找出一种奖金方案,满足各位代表的意见,且同时使得总奖金数最少。每位员工奖金最少为100元。Input两个整数n,m,表示员工总数和代表数;以下m行,每行2个整数a,b,表示某个代表认为第a号员工奖金应该比第b号员工高。Output若无法找到合法方案,则输出“-1”;否则输出一个数表示最少总奖金。Sample Input2 11 2Sample原创 2020-08-17 07:47:43 · 296 阅读 · 3 评论 -
【ssl1608】皇宫看守【树形DP】
Description太平王世子事件后,陆小凤成了皇上特聘的御前一品侍卫。皇宫以午门为起点,直到后宫嫔妃们的寝宫,呈一棵树的形状;某些宫殿间可以互相望见。大内保卫森严,三步一岗,五步一哨,每个宫殿都要有人全天候看守,在不同的宫殿安排看守所需的费用不同。可是陆小凤手上的经费不足,无论如何也没法在每个宫殿都安置留守侍卫。Input帮助陆小凤布置侍卫,在看守全部宫殿的前提下,使得花费的经费最少。Output输入文件中数据表示一棵树,描述如下:第1行 n,表示树中结点的数目。第2行至第n+1行,每原创 2020-08-15 15:27:51 · 894 阅读 · 0 评论 -
【ssl1743】Debug【树形记忆化搜索】
DescriptionBugzilla由N个基地组成。这N个基地被N-1段双向地道连接在一起,每段地道都连接两个基地,并且保证任意两个基地之间都可以通过地道互相到达。Bug就藏在其中的某段地道中。 开始时rc可以乘坐运输机降落在任何一个基地。每次到达一个基地时,rc都可以选择呼叫运输机将他和他的部队运输到任意另一个基地,或者进入与这个基地相邻的一段地道进行搜索。但为了防止Bug跑进已经搜索过的地道,他在离开一个基地进入地道或登上运输机时一定会将这个基地炸毁。基地一旦被炸毁就不再和与它相邻的地道连接。但原创 2020-08-15 09:04:08 · 141 阅读 · 1 评论 -
【ssl1565】将功补过【树形DP】
Description军事中心是一个严格的二叉树,也就是说,如果有个点可以分道,一定是分出,也只分出2条道路,现在Elvis Han正处在第一个分道处,也就是说树的根结点处。每条道路上都有一个分数,就是这个道路上的情报价值。但是他只有时间走M条路,他的最终情报价值总和就是他所经过的路的情报价值总和(假设他到过的路一定可以把所有情报得到)希望你给出一个方案使得他可以尽量多地获取情报以便将功补过。Input共有N行:第一行:3个数据:N,M,Q(N表示有多少个路口,包括分道和不分道的路口;M表示他可以有原创 2020-08-14 21:01:16 · 128 阅读 · 0 评论 -
【SSL2325】最小转弯问题【BFS】
Description给出一张地图,这张地图被分为 n×m(n,m<=100)个方块,任何一个方块不是平地就是高山。平地可以通过,高山则不能。现在你处在地图的(x1,y1)这块平地,问:你至少需要拐几个弯才能到达目的地(x2,y2)?你只能沿着水平和垂直方向的平地上行进,拐弯次数就等于行进方向的改变(从水平到垂直或从垂直到水平)的次数。例如:如图 1,最少的拐弯次数为5。Input第...原创 2019-12-07 08:53:24 · 532 阅读 · 0 评论 -
【SSL1607】没有上司的晚会【树形DP】
DescriptionUral大学有N个职员,编号为1~N。他们有从属关系,也就是说他们的关系就像一棵以校长为根的树,父结点就是子结点的直接上司。每个职员有一个快乐指数。现在有个周年庆宴会,要求与会职员的快乐指数最大。但是,没有职员愿和直接上司一起与会。Input第一行一个整数N。(1<=N<=6000)接下来N行,第i+1行表示i号职员的快乐指数Ri。(-128<=Ri...原创 2019-12-12 16:58:01 · 259 阅读 · 2 评论 -
【ssl1231】容易的网络游戏(normal)【离散化】
Description现在网络游戏一款接一款地推出,佳佳和他的同学们也迷上了网络游戏。他们最近在玩N款不同的网络游戏。 一些网络游戏允许玩家购买双倍经验卡。拥有双倍经验卡的玩家可以在有效期内获得更多的经验值。佳佳和他的同学们有着丰富的网游经验,对于任何一款网络游戏,只要是在双倍经验的条件下,无论谁玩都可以在单位时间内轻松获得一个单位的经验值。 国庆节马上到了,网游公司不会错过这难得的机会大捞一把。中国网游常用的赚钱手段便是免费提供双倍经验(因为如果玩家再买一张双倍卡,便可获得4倍经验)。 在9原创 2020-07-22 14:39:23 · 120 阅读 · 1 评论 -
【ssl1127】方程的解数【较难的哈希表】【DFS深搜】
DescriptionInput第1行包含一个整数n。第2行包含一个整数M。第3行到第n+2行,每行包含两个整数,分别表示ki和pi。两个整数之间用一个空格隔开。第3行的数据对应i=1,第n+2行的数据对应i=n。Output仅一行,包含一个整数,表示方程的整数解的个数。Sample Input31501 2-1 21 2Sample Output178hint1<=n<=6;1<=M<=150方程的整数解的个数小于231。★本题中,指数原创 2020-07-22 11:08:07 · 281 阅读 · 0 评论 -
【ssl2124】涂色【离散化】
Description有一根长度为1000000000的棍子,一开始涂成白色。棍子上有刻度,左端点为0,右端点1000000000。由于某种原因这根棍子的某些部分被重新涂过了。重新涂的颜色可能是黑色或着白色。棍子总共被依次重新涂了N(1<=N<=5000)次。找出最后最长的白色段。Input第1行一个数N。接下来N行表示一次涂色,格式如下:ai bi ciai和bi为整数,ci是字母b或w。表示把ai和bi之间那段涂成ci色(w白色,b黑色)。0<=ai<=原创 2020-07-22 08:42:14 · 115 阅读 · 0 评论 -
【ssl1088】【USACO1.2】挤牛奶【离散化】
Description三个农民每天清晨5点起床,然后去牛棚给3头牛挤奶。第一个农民在300时刻(从5点开始计时,秒为单位)给他的牛挤奶,一直到1000时刻。第二个农民在700时刻开始,在 1200时刻结束。第三个农民在1500时刻开始2100时刻结束。期间最长的至少有一个农民在挤奶的连续时间为900秒(从300时刻到1200时刻),而最长的无人挤奶的连续时间(从挤奶开始一直到挤奶结束)为300秒(从1200时刻到1500时刻)。 你的任务是编一个程序,读入一个有N个农民(1 <= N <=原创 2020-07-22 08:25:12 · 179 阅读 · 0 评论 -
【ssl2880】图形面积【离散化】
Description桌面上放了N个平行于坐标轴的矩形,这N个矩形可能有互相覆盖的部分,求它们组成的图形的面积。Input输入第一行为一个数N(1≤N≤100),表示矩形的数量。下面N行,每行四个整数,分别表示每个矩形的左下角和右上角的坐标,坐标范围为–108到108之间的整数。Output输出只有一行,一个整数,表示图形的面积。Sample Input31 1 4 32 -1 3 24 0 5 2Sample Output10分析这题其实跟离散化的模板题挺像的。就是变成了二原创 2020-07-22 08:18:04 · 154 阅读 · 0 评论 -
【gzoj】校门外的树 加强版【离散化】
Description某校大门外长度为L的马路上有一排树,每两棵相邻的树之间的间隔都是1米。我们可以把马路看成一个数轴,马路的一端在数轴0的位置,另一端在L的位置;数轴上的每个整数点,即0,1,2,……,L,都种有一棵树。 由于马路上有一些区域要用来建地铁。这些区域用它们在数轴上的起始点和终止点表示。已知任一区域的起始点和终止点的坐标都是整数,区域之间可能有重合的部分。现在要把这些区域中的树(包括区域端点处的两棵树)移走。你的任务是计算将这些树都移走后,马路上还有多少棵树。Input输入的第一行有原创 2020-07-21 21:52:31 · 180 阅读 · 0 评论 -
【ssl2343】家谱【并查集】【字符串】
Description现代的人对于本家族血统越来越感兴趣, 现在给出充足的父子关系, 请你编写程序找到 某个人的最早的祖先。Input输入文件由多行组成, 首先是一系列有关父子关系的描述, 其中每一组父子关系由二行 组成,用#name 的形式描写一组父子关系中的父亲的名字,用+name 的形式描写一组父子关 系中的儿子的名字;接下来用?name 的形式表示要求该人的最早的祖先;最后用单独的一个 $表示文件结束。规定每个人的名字都有且只有 6 个字符,而且首字母大写,且没有任意两 个人的名字相同。最多可原创 2020-07-21 11:25:47 · 216 阅读 · 1 评论 -
【ssl1222】矩形【并查集】【数学】
Description在一个平面上有n个矩形。每个矩形的边都平行于坐标轴并且都具有值为整数的顶点。我们用如下的方式来定义块。 每一个矩形都是一个块。 如果两个不同的矩形有公共线段,那么它们就组成了一个新的块来覆盖它们原来的两个块。例子:在图1中的矩形组成了两个不同的块。写一个程序: 找出这些矩形形成的不同的块的个数。Input在输入文件PRO.IN的第一行又一个整数n,1 <= n <=7000,表示矩形的个数。接下来的n行描述矩形的顶点,每个矩形用四个数来描述:左下顶原创 2020-07-21 10:51:32 · 200 阅读 · 0 评论 -
【ssl1312】旅行【并查集】
DescriptionZ小镇是一个景色宜人的地方,吸引来自各地的观光客来此旅游观光。Z小镇附近共有N个景点(编号为1,2,3,…,N),这些景点被M条道路连接着,所有道路都是双向的,两个景点之间可能有多条道路。也许是为了保护该地的旅游资源,Z小镇有个奇怪的规定,就是对于一条给定的公路Ri,任何在该公路上行驶的车辆速度必须为Vi。速度变化太快使得游客们很不舒服,因此从一个景点前往另一个景点的时候,大家都希望选择行使过程中最大速度和最小速度的比尽可能小的路线,也就是所谓最舒适的路线。Input第一行包含两原创 2020-07-21 09:55:59 · 112 阅读 · 0 评论 -
【ssl1682】USACO 3.1 Agri-Net 最短网络 (最小生成树)【kruskal】【并查集】
Description农民约翰被选为他们镇的镇长!他其中一个竞选承诺就是在镇上建立起互联网,并连接到所有的农场。当然,他需要你的帮助。约翰已经给他的农场安排了一条高速的网络线路,他想把这条线路共享给其他农场。为了用最小的消费,他想铺设最短的光纤去连接所有的农场。你将得到一份各农场之间连接费用的列表,你必须找出能连接所有农场并所用光纤最短的方案。每两个农场间的距离不会超过100000Input第一行: 农场的个数,N(3<=N<=100)。第二行…结尾: 后来的行包含了一个N*N的矩阵,表原创 2020-07-20 21:52:14 · 276 阅读 · 0 评论