青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

USACO 0912 月賽

Posted on 2009-12-13 21:14 rikisand 閱讀(341) 評論(0)  編輯 收藏 引用 所屬分類: AlgorithmUSACO

silver組:

比賽那天感冒,第一題就弄暈了,現在題解出來了,補上吧~~

暫時只有第一題的:

Problem 6: Bobsledding [Brian Jacokes, 2009]

Bessie has entered a bobsled competition because she hopes her hefty
weight will give her an advantage over the L meter course (2 <= L
<= 1,000,000,000).

Bessie will push off the starting line at 1 meter per second, but
her speed can change while she rides along the course. Near the
middle of every meter Bessie travels, she can change her speed
either by using gravity to accelerate by one meter per second or
by braking to stay at the same speed or decrease her speed by one
meter per second.

Naturally, Bessie must negotiate N (1 <= N <= 100,000) turns on the
way down the hill. Turn i is located T_i meters from the course
start (1 <= T_i <= L-1), and she must be enter the corner meter at
a speed of at most S_i meters per second (1 <= S_i <= 1,000,000,000).
Bessie can cross the finish line at any speed she likes.

Help Bessie learn the fastest speed she can attain without exceeding
the speed limits on the turns.

Consider this course with the meter markers as integers and the
turn speed limits in brackets (e.g., '[3]'):

|   1   2   3   4   5   6   7[3]
|---+---+---+---+---+---+---+
|                            \
Start                         + 8    
                               \
                                + 9    
                                 \
                                  + 10       +++ 14 (finish)
                                   \         /
                              11[1] +---+---+
                                        12  13[8]

Below is a chart of Bessie's speeds at the beginning of each meter length
of the course:

Max:                              3               1       8
Mtrs: 0   1   2   3   4   5   6   7   8   9  10  11  12  13  14 
Spd:  1   2   3   4   5   5   4   3   4   3   2   1   2   3   4

Her maximum speed was 5 near the beginning of meter 4.

PROBLEM NAME: bobsled

INPUT FORMAT:

* Line 1: Two space-separated integers: L and N

* Lines 2..N+1: Line i+1 describes turn i with two space-separated
        integers: T_i and S_i

SAMPLE INPUT (file bobsled.in):

14 3
7 3
11 1
13 8

OUTPUT FORMAT:

* Line 1: A single integer, representing the maximum speed which
        Bessie can attain between the start and the finish line,
        inclusive.

SAMPLE OUTPUT (file bobsled.out):

5

 

題目看起來挺復雜,其實主要是求出各個turn處的最大速度,分析得到每個turn的最大速度需要滿足三個條件, M_i = min (S_i , t_i – t_{i-1} + M_{i-1} , S_k + t_k – t_i [for all k > i ] )

因此處理每一個turn都要查詢N個turn N*N的復雜度顯然對于大數據要TLE的

逆向思考,如果我們反過來考慮,對于每一個之后的turn來說 如:i  如果他最大速度為 m_i

那么 在turn i-1處,他不能超過的最大速度 m_{i-1} = min(S_i,m_i+t_i – t_{i-1});這樣成功的把后面兩個限制轉換為逆推的結果而不是向后查詢

剩下的問題便是如果知道兩個turn之間距離,以及turn的速度最大值,如何求出之間的最大值,畫圖顯然可以得到一種算式 maxspeed = min(s1,s2) + (dist2-dist1+abs(s1-s2))/2;

或者 maxspeed = max(s1,s2) + (dist2 – dist1 – abs(s1-s2))/2;

注意在開頭和結尾加入虛擬的turn就可以了

 

Code Snippet
#define REP(i,n)  for(  int (i) = 0 ; i < (n) ; ++i)
using namespace std;
int L,N;
struct node{
    int dist;
    int speed;
};
vector<node> vec;
bool comp(const node& n1,const node& n2){
    return n1.dist<n2.dist;
}
vector<int> up,down;
#define inf 98765433
void solve()
{
    //freopen("e:\\usaco\\bobsled.11.in","r",stdin);
    freopen("bobsled.in","r",stdin);
    freopen("bobsled.out","w",stdout);
    cin>>L>>N;
    vec.resize(N+2); up.resize(N+2,0); down.resize(N+2,0);
    vec[0].dist =0;vec[0].speed =1;
    vec[N+1].dist =L;vec[N+1].speed=inf;
    REP(i,N) scanf("%d %d",&vec[i+1].dist,&vec[i+1].speed);
    sort(vec.begin(),vec.end(),comp);
    down[N+1] = inf;
    for(int i=N;i>0;i--)
        down[i] = min(vec[i].speed,vec[i+1].dist-vec[i].dist+down[i+1]);
    int maxspeed = 1;up[0]=1;
    for(int i=1;i<N+2;i++){
        up[i] = min(down[i],up[i-1]+vec[i].dist - vec[i-1].dist);
        maxspeed = max(maxspeed,min(up[i],up[i-1])+(vec[i].dist-vec[i-1].dist+abs(up[i]-up[i-1]))/2);
    }
    cout<<maxspeed<<endl;
}


int main()
{
    solve();
    return 0;
}

----------------------------------------------3個月后的修改線-----------------------------------------------------------------

第一個復習周末 ,先看的這道題,過了這么久果然又杯具的不會了~~之前的解釋寫的有些模糊。

首先,如果要想達到最快速度,那么只需要求得每個turn 能夠達到的最快速度即可~

所以題目編程求每個turn能達到的最快速度了。首先得到簡單的式子,也就是上面的min{1,2,3},第一個條件決定在這個turn我們可以加速達到的最大速度,后兩個條件為了防止滑的過快,減不下來不能通過自己以及以后的turn。按這種算法,我們必須對每一個turn遍歷之后的turn,很沒有效率。后面兩個條件是為了防止在turn處滑的過快~~那么每一個m_i 只需要滿足 min(S_i,m_{i+1}+t[i+1]-t[i]);只要這樣,就可以保證雪橇可以減速以通過下一個turn。顯然最后一個turn的 m_i 就是他的s_i,這樣遞推回去就能得到一組slowdown值,然后利用前面的式子 up[i]=min{m_i[i],up[i-1]+lenth};正向推回去就可以得到每一個turn的maxspeed。至于最大speed的算法上面已經給出了~

------------------希望下次可以直接做出來,不要再忘了。。。。-------------

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲精品在线三区| 久久手机免费观看| 久久综合伊人77777| 欧美一区二区高清在线观看| 亚洲欧美日本视频在线观看| 亚洲免费在线电影| 欧美中文字幕久久| 嫩模写真一区二区三区三州| 欧美凹凸一区二区三区视频| 亚洲精品少妇30p| 亚洲视频精品| 欧美影视一区| 欧美肥婆在线| 国产精品国产成人国产三级| 激情另类综合| 亚洲精品乱码久久久久久日本蜜臀 | 欧美专区福利在线| 久久全国免费视频| 欧美国产三级| 国产区在线观看成人精品| 国产综合av| 一本久道久久综合狠狠爱| 欧美亚洲综合在线| 欧美激情2020午夜免费观看| 中日韩美女免费视频网址在线观看| 午夜国产精品视频| 美女视频网站黄色亚洲| 国产精自产拍久久久久久| 亚洲欧洲一区| 久久免费午夜影院| 一本大道久久a久久精品综合| 欧美专区日韩视频| 国产精品电影在线观看| 亚洲人屁股眼子交8| 欧美主播一区二区三区美女 久久精品人| 欧美成人午夜| 久久久久久网站| 国产一区二区欧美| 亚洲欧美文学| 中文精品在线| 欧美—级a级欧美特级ar全黄| 伊人久久婷婷色综合98网| 欧美一区二区三区四区在线观看地址| 亚洲青色在线| 久久成人羞羞网站| 国产精品一卡二卡| 香蕉久久国产| 亚洲视屏一区| 国产精品多人| 亚洲欧美精品一区| 99精品欧美一区二区三区| 欧美激情一区二区三区成人| 亚洲国产中文字幕在线观看| 久久一区二区三区国产精品| 欧美有码在线视频| 韩国精品在线观看| 老巨人导航500精品| 久久精品亚洲精品| 在线观看三级视频欧美| 欧美aⅴ99久久黑人专区| 久久久久欧美精品| 在线看成人片| 亚洲国产美女久久久久| 欧美成人精品在线观看| 亚洲精品麻豆| 日韩亚洲精品视频| 国产精品美女主播在线观看纯欲| 亚洲一区在线看| 在线综合视频| 国产欧美日韩另类一区| 久久成人精品无人区| 欧美一区深夜视频| 亚洲国产黄色片| 亚洲激情影视| 久久一区二区视频| 亚洲免费影视| 国外成人在线视频| 免费观看成人网| 欧美1区3d| 99re66热这里只有精品4| 亚洲精品国产品国语在线app | 亚洲国产精品久久| 欧美激情第六页| 亚洲免费在线观看视频| 亚洲欧美日韩国产一区二区三区| 国产一区二区中文字幕免费看| 噜噜噜噜噜久久久久久91| 欧美精品1区| 久久激情综合网| 欧美大片第1页| 亚洲欧美一区二区视频| 久久久99精品免费观看不卡| 亚洲精品在线视频| 午夜精品久久久久久久| 国精品一区二区| 亚洲精品影院在线观看| 国产精品护士白丝一区av| 猫咪成人在线观看| 欧美日韩在线精品一区二区三区| 久久精品一区二区三区不卡牛牛| 免费短视频成人日韩| 亚洲国产精品va在线看黑人动漫| 亚洲人精品午夜| 国产午夜精品美女毛片视频| 亚洲国产天堂久久综合| 国产精品午夜av在线| 欧美mv日韩mv国产网站| 欧美性一二三区| 亚洲电影中文字幕| 国产亚洲成精品久久| 亚洲人成人77777线观看| 国产主播精品| 亚洲一二三区在线| 亚洲日本电影在线| 欧美在线视频观看| 亚洲欧美日韩一区二区| 欧美超级免费视 在线| 久久高清福利视频| 欧美日韩综合在线| 美乳少妇欧美精品| 国户精品久久久久久久久久久不卡| 一本色道久久综合狠狠躁篇的优点| 亚洲国产成人久久| 久久本道综合色狠狠五月| 性做久久久久久| 国产精品久久久久久久久免费桃花 | 国产日韩一区二区三区在线播放| 亚洲国产婷婷| 亚洲日本理论电影| 久久国产一区| 欧美国产日韩一区| 久久精品国产免费观看| 国产精品成人一区二区网站软件| 亚洲国产日韩欧美在线99| 国产精品夜夜夜一区二区三区尤| 美女啪啪无遮挡免费久久网站| 国产一区999| 欧美一区二区观看视频| 亚洲欧美在线aaa| 国产精品毛片一区二区三区| 99视频精品免费观看| 在线一区二区三区四区| 欧美激情成人在线| 亚洲精品国产精品久久清纯直播| 亚洲国产日韩欧美| 欧美高清视频在线播放| 亚洲日本黄色| 亚洲精品一区二区三区蜜桃久 | 午夜国产精品视频免费体验区| 亚洲欧美日韩精品在线| 国产日韩精品入口| 久久久久欧美精品| 亚洲国产精品一区二区第一页| 亚洲九九爱视频| 欧美视频免费在线| 欧美一区二区三区在| 免费亚洲婷婷| 这里只有精品视频| 国产精品永久入口久久久| 午夜欧美精品| 欧美不卡高清| 亚洲色图自拍| 国产日韩欧美不卡在线| 久久久久久久久久久久久9999| 亚洲风情在线资源站| 午夜精品视频在线观看| 尤物精品在线| 欧美日韩一区在线播放| 亚洲欧美日产图| 欧美国产日韩在线| 亚洲欧美国产另类| 在线观看亚洲一区| 欧美精品在线播放| 香蕉成人啪国产精品视频综合网| 久久综合网色—综合色88| aa国产精品| 国产字幕视频一区二区| 欧美激情一区二区三区蜜桃视频| 亚洲天堂免费观看| 欧美成人免费全部观看天天性色| 艳妇臀荡乳欲伦亚洲一区| 国产精品资源| 欧美 亚欧 日韩视频在线| 一区二区三区你懂的| 巨胸喷奶水www久久久免费动漫| 99在线视频精品| 国内精品美女在线观看| 欧美区一区二| 久久精品系列| 在线一区日本视频| 亚洲国内自拍| 欧美一区二区久久久| 亚洲精品一区二区三区福利| 好看的av在线不卡观看| 国产精品视频一二三| 久久久欧美一区二区| 羞羞色国产精品| 9久草视频在线视频精品| 亚洲高清激情| 久久精品国产亚洲a|