网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
06月03日漏签0天
noip吧 关注:25,160贴子:642,077
  • 看贴

  • 图片

  • 吧主推荐

  • 视频

  • 游戏

  • 14回复贴,共1页
<<返回noip吧
>0< 加载中...

求解求解问题求解

  • 只看楼主
  • 收藏

  • 回复
  • dfg600333
  • 省选酱油
    8
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
题目描述
约翰的N(1≤N≤10000)只奶牛正站在一条直线上接受检阅,她们由1到N编号,每一只奶牛都有一个用正整数表示的身高,你被告知最高奶牛的编号I和身高H(1≤H≤1000000),但是其他奶牛的身高就不得而知了。
约翰提供了R(0≤R≤10000)条信息.每条信息用两个整数a和b表示,意味着‘a能看到b’。也就是说,b的身高不会小于a,而且两只奶牛之间所有奶牛的身高均严格小于a的身高。
对每只奶牛,请计算最大的可能身高。使之不违反给出的信息,数据保证合理的身高一定存在。
输入
第1行输入4个整数.分别表示N,I,H,R,接下来R行每行输入两个整数a和b。
输出
一共N行,第i行表示第i号奶牛的最大可能身高。
样例输入9 3 5 51 35 34 33 79 8样例输出
5
4
5
3
4
4
5
5
5
求AC代码 思路啊啊啊啊


  • 轩轩醉了
  • 进队爷
    13
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
我感觉是用大小关系构造有向图然后拓扑排序


2025-06-03 13:28:28
广告
  • GEOTCBRL
  • NOI金牌
    12
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
当时做USACO的时候好像做过另一个版本的,似乎叫“乱头发节”,不过是这道题的逆
这道题嘛,应该可以根据题目列出不等式,得到每两个奶牛之间的约束
比如说A看见B,那么h[A]<=h[B],即h[A]-h[B] <= 0
同时h[A]<=h[B]<=h.max
然后差分约束构图,SPFA……
好像可以吧,蒟蒻没多想


  • ZLDhehe
  • 怒进省队
    9
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
我觉得这题为什么跟去年普及组最后一题那么像。。


  • wyl8899
  • NOI金牌
    12
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
a[]=H
for each i in [1,R] : for each j in (a_i,b_i) : a[j]--


  • mayukuner
  • NOI铜牌
    10
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
POJ3263......因为保证有解,所以 [a[i],b[i]] 和 [a[j],b[j]] 只能包含或相离,所以可以用ls的思路,不过可以用差分O(1)区间-1。。。还要注意输入的区间可能重复


  • Mektpoy
  • NOI银牌
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
我来干些奇怪的事情~
for(i=1;i<=r;i++){
scanf("%d%d",&L,&R);
if(find(L,R))continue;
if(L>R)swap(L,R);
--S[L+1]; ++S[R];
}
for(i=1;i<=n;i++)now+=S[i],h[i]+=now;
for(i=1;i<=n;i++)printf("%d\n",h[i]+H);


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 14回复贴,共1页
<<返回noip吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示