poj1944

一道我不会做的贪心题。

(思维才是OI的重点)

但是if您也不会,那就来听我瞎扯吧。

首先,这个图是一个圈,只能连接邻点,使所有求的点联通。

我们先不考虑环,那么就可以想出一个假的做法:用一个a数组记录入度和出度,出度为正,入度为负,用一个sum=0从0遍历每个点记录当前出入度,每次加ai,若sum大于0给答案加上1就行了。

然后,我们来考虑环。我们发现。不管怎么连这个图,肯定都会有一个断边的,连接的路径绝不会是一个完整的环。因为如果连成了完整地环,肯定有一条边断掉这个图还是联通的,即这条边是无用的。那么,我们欺负n小就可以分别从第i个点出发像上述查找一条链的做法一样地计算,然后取最大值就行了。

#include<cstdio>
#include<algorithm>
#include<cstring>
#include<cctype>
using namespace std;
inline int read()
{
int x=0,w=0;char c=getchar();
while(!isdigit(c))w|=c=='-',c=getchar();
while(isdigit(c))x=(x<<3)+(x<<1)+(c^48),c=getchar();
return w?-x:x;
}
const int maxn=1010,maxm=10010;
int n,m,a[maxn],l[maxm],r[maxm];
int main()
{
n=read(),m=read();
for(int i=0;i<m;i++)l[i]=read(),r[i]=read();
int ans=0x3f3f3f3f;
for(int i=0;i<n;i++){
memset(a,0,sizeof a);
int x,y;
for(int j=0;j<m;j++){
x=(l[j]+i)%n;
y=(r[j]+i)%n;
if(x>y)swap(x,y);
a[x]++;
a[y]--;
}
int now=0,pre=0;
for(int i=0;i<n;i++){
now+=a[i];
if(now)pre++;
}
if(pre<ans)ans=pre;
}
printf("%d\n",ans);
return 0;
}

POJ1944的更多相关文章

  1. [USACO2002][poj1944]Fiber Communications(枚举)

    Fiber Communications Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 3804   Accepted: 1 ...

  2. POJ1944 Fiber Communications (USACO 2002 February)

    Fiber Communications 总时间限制:  1000ms 内存限制:  65536kB 描述 Farmer John wants to connect his N (1 <= N ...

随机推荐

  1. Eclipse修改默认的语言编码设置,处理乱码

    Eclipse中设置:

  2. 错误档案2:MySQL8.0连接C3P0的问题

    >>>跳过BB,空降正文<<< 目录 前言 问题出现 解决方法 结论 前言 大家好呀,我是 白墨,一个热爱学习与划水的矛盾体. 前两天在使用C3P0连接池时遇到问题 ...

  3. fiddler选项卡-Filters(过滤)

    Filter filter的意思是过滤,在fiddler中,它可以用来过滤请求,使得session列表能够更加精准的展现抓到的数据流,而不是杂乱的一堆. 1.filter的界面 2.界面详解 1.Us ...

  4. 『动善时』JMeter基础 — 43、JMeter对数据库的查询操作

    目录 1.使用"用户自定义变量"实现参数化 2. 在SQL Query中使用占位符传递参数 (1)传递的参数值是常量 (2)传递的参数值是变量 3.Variables names参 ...

  5. 【NX二次开发】Block UI 选择对象

    属性说明 属性   类型   描述   常规           BlockID    String    控件ID    Enable    Logical    是否可操作    Group    ...

  6. 在VScode 中使用RT-Thread Studio初体验

    前言 工欲善其事,必先利其器,VScode是什么东东,想必大家都非常熟悉了,丰富的插件,有好的开发界面,是很多程序开发者的不二之选,RT-Thread竟然也开发了Vscode插件,真的是非常的nice ...

  7. Java中最大的数据结构:LinkedHashMap了解一下?

    前言 Map 家族数量众多,其中 HashMap 和 ConcurrentHashMap 用的最多,而 LinkedHashMap 似乎则是不怎么用的,但是他却有着顺序.两种,一种是添加顺序,一种是访 ...

  8. Perm 排列计数

    题目描述 称一个1,2,...,N的排列P1,P2...,Pn是Magic的,当且仅当2<=i<=N时,Pi>Pi/2. 计算1,2,...N的排列中有多少是Magic的,答案可能很 ...

  9. Nginx报400 Bad Request

    本地遇到此问题,关闭浏览器,重新运行代码即可

  10. 用vue ui创建的项目怎么关闭eslint校验

    在Vue Cli的控制面板找到配置-ESLint configuration,然后关闭保存时检查就可以了