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

【AHOI2013復仇】BZOJ2165

Posted on 2013-01-01 15:39 Mato_No1 閱讀(539) 評論(0)  編輯 收藏 引用 所屬分類: BZOJ
原題地址
2013年第一題……紀念一下……

設F[i][j]表示坐i次電梯到達房間j,最多能到幾樓,則有
F[i][j]=max{F[i-1][k]+W[k][j]}, 0<=k<n;
這里W[k][j]要注意,如果不存在從k到j的電梯,W[k][j]應設為-INF。
這個方程顯然是可以用矩陣乘法來優(yōu)化的。
然后,問題就是求出最小的i使得F[i]的狀態(tài)中有值>=M的,這個可以二分(每次看當前解與W的(2^K-1)次方的運算結(jié)果,若有解則實際不進行這次運算,否則與W的2^K次方運算)……總時間復雜度是O(n3logM)的,對于本題可能要進行一些常數(shù)優(yōu)化才能過(20個點,每個點5個數(shù)據(jù),相當于100個點,時限只有40s),反正本沙茶是卡線過的。

但是,本題有一個細節(jié)很重要,必須要說一下(因為本沙茶在這里卡了1h+)……那就是溢出問題……
F[i][j]的值是有可能超過long long的范圍的,然而如果硬加高精度的話穩(wěn)T,這時,在進行矩陣乘法(實際是加法)的時候,需要特判一下,如果這個和超過了INF(INF是~0Ull>>2,>1018),就取INF。這樣可能會破壞結(jié)合律,但是木有事,因為若兩個加數(shù)都是非負數(shù),則不會破壞,若有負數(shù),則一定表示無解(-INF),這個特判一下就行了(若兩個加數(shù)之中有負數(shù),則結(jié)果取-INF)。

代碼:
#include <iostream>
#include 
<stdio.h>
#include 
<stdlib.h>
#include 
<string.h>
using namespace std;
#define re(i, n) for (int i=0; i<n; i++)
#define re1(i, n) for (int i=1; i<=n; i++)
#define re2(i, l, r) for (int i=l; i<r; i++)
#define re3(i, l, r) for (int i=l; i<=r; i++)
#define rre(i, n) for (int i=n-1; i>=0; i--)
#define rre1(i, n) for (int i=n; i>0; i--)
#define rre2(i, r, l) for (int i=r-1; i>=l; i--)
#define rre3(i, r, l) for (int i=r; i>=l; i--)
#define ll long long
const int MAXN = 110, MAXLEN = 61;
const ll INF = ~0Ull >> 2;
int n;
ll M, A[MAXLEN][MAXN][MAXN], W0[MAXN][MAXN], _[MAXN][MAXN], res;
void mult(ll A0[][MAXN], ll B0[][MAXN])
{
    re(i, n) re(j, n) _[i][j] 
= -INF; ll __;
    re(i, n) re(j, n) re(k, n) 
if (A0[i][k] >= 0 && B0[k][j] >= 0) {
        __ 
= A0[i][k] + B0[k][j];
        
if (__ > INF) __ = INF;
        
if (__ > _[i][j]) _[i][j] = __;
    }
}
void prepare()
{
    re2(i, 
1, MAXLEN) {
        mult(A[i 
- 1], A[i - 1]);
        re(j, n) re(k, n) A[i][j][k] 
= _[j][k];
        mult(A[i], A[
0]);
        re(j, n) re(k, n) A[i][j][k] 
= _[j][k];
    }
}
void solve()
{
    re(i, n) re(j, n) 
if (i == j) W0[i][j] = 0else W0[i][j] = -INF; bool FF; res = 0;
    rre(i, MAXLEN) {
        FF 
= 0; re(j, n) if (A[i][0][j] >= M) {FF = 1break;}
        
if (FF) continue;
        mult(W0, A[i]);
        FF 
= 0; re(j, n) if (_[0][j] >= M) {FF = 1break;}
        
if (!FF) {
            re(j, n) re(k, n) W0[j][k] 
= _[j][k];
            mult(W0, A[
0]);
            re(j, n) re(k, n) W0[j][k] 
= _[j][k];
            res 
+= 2ll << i;
        }
    }
    FF 
= 0; re(i, n) if (W0[0][i] >= M) {FF = 1break;}
    
if (!FF) res++;
}
int main()
{
    
int tests;
    scanf(
"%d"&tests);
    re(testno, tests) {
        cin 
>> n >> M;
        re(i, n) re(j, n) {scanf(
"%lld"&A[0][i][j]); if (!A[0][i][j]) A[0][i][j] = -INF;}
        prepare();
        solve();
        cout 
<< res << endl;
    }
    
return 0;
}

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            欧美日韩伦理在线| 欧美一区二区三区婷婷月色 | 欧美久久九九| 欧美高清视频一区二区三区在线观看 | 国产精品超碰97尤物18| 亚洲国产日韩欧美在线图片| 免费av成人在线| 欧美激情1区2区3区| 99av国产精品欲麻豆| 亚洲三级影院| 欧美日韩国产在线播放| 亚洲欧美日韩视频二区| 欧美在线啊v一区| 亚洲国产精品美女| 一本大道久久a久久综合婷婷 | 亚洲精品欧美| 91久久精品网| 精品成人国产在线观看男人呻吟| 蜜桃伊人久久| 国产精品国内视频| 欧美成人高清| 国产精品日本| 亚洲天堂成人在线观看| 亚洲美女视频在线观看| 美女爽到呻吟久久久久| 亚洲欧美日韩精品久久久| 欧美在线综合视频| 欧美日韩专区在线| 久久综合久久久| 狠狠色综合日日| 国产精品99久久久久久宅男| 久久蜜桃资源一区二区老牛 | 美女在线一区二区| 国产日韩亚洲欧美| 先锋影音网一区二区| 欧美一区二区视频97| 国产视频一区三区| 欧美一区二区三区在线观看视频| 午夜精品久久久久久99热软件| 欧美日韩一区二区精品| 亚洲精品偷拍| 亚洲中午字幕| 国产视频精品xxxx| 久久最新视频| 最新亚洲一区| 欧美一区1区三区3区公司| 欧美电影免费观看大全| 亚洲免费电影在线观看| 国产精品swag| 久久精品一二三区| 亚洲国产日本| 午夜精彩国产免费不卡不顿大片| 国产精品一区在线观看| 久久综合影音| 亚洲一区网站| 91久久精品网| 久久精品夜色噜噜亚洲aⅴ| 亚洲大片免费看| 欧美午夜精品久久久久久人妖 | 欧美激情一区二区三区高清视频| 亚洲国产综合视频在线观看| 国产精品v亚洲精品v日韩精品| 久久国产福利| 日韩天堂av| 美国十次了思思久久精品导航| 亚洲夫妻自拍| 国产在线视频欧美| 国产精品五区| 国产视频精品免费播放| 欧美日韩精品| 欧美二区不卡| 久久久av毛片精品| 香蕉久久久久久久av网站| 亚洲欧洲三级| 日韩午夜在线视频| 亚洲欧洲精品一区二区| 欧美国产日产韩国视频| 亚洲欧美日本在线| 亚洲图片欧美午夜| 亚洲美女视频在线观看| 亚洲国产视频一区二区| 在线看一区二区| 亚洲国产精品一区二区久| 亚洲福利一区| 亚洲视频在线二区| 亚洲影视中文字幕| 久久国产精品一区二区三区| 久久福利一区| 亚洲国产成人av| 99精品国产福利在线观看免费| 亚洲午夜成aⅴ人片| 欧美一级专区| 99国产精品久久久久久久久久 | 99视频精品| 中文精品一区二区三区| 欧美一区二区网站| 欧美日本精品在线| 欧美亚洲一区二区在线观看| 性欧美1819sex性高清| 麻豆精品网站| 国产日韩免费| 亚洲一区在线观看视频 | 久久精品一区四区| 亚洲精品少妇网址| 欧美一区二区日韩一区二区| 蜜臀久久99精品久久久久久9 | 国产午夜精品久久| 亚洲性xxxx| 亚洲午夜羞羞片| 欧美日本国产一区| 亚洲国产精品久久久久| 亚洲字幕一区二区| 亚洲美女一区| 欧美成人自拍| 99国产精品私拍| 在线视频一区观看| 欧美制服丝袜第一页| 中文高清一区| 亚洲精品女av网站| 久久人91精品久久久久久不卡| 亚洲欧美日韩天堂一区二区| 国一区二区在线观看| 欧美一级欧美一级在线播放| 日韩一二三区视频| 国产精品久久国产三级国电话系列 | 99国产麻豆精品| 亚洲精品社区| 国产精品日本欧美一区二区三区| 99精品国产一区二区青青牛奶| 激情成人在线视频| 欧美一级大片在线免费观看| 亚洲中字在线| 亚洲精品久久在线| 欧美一级网站| 午夜久久资源| 欧美视频免费| 亚洲日本中文字幕区| 亚洲黄色免费电影| 亚洲电影免费观看高清完整版在线观看 | 红桃视频国产一区| 亚洲第一精品夜夜躁人人爽| 欧美久久视频| 久久久久女教师免费一区| 久久久.com| 亚洲激情成人| 久久国产天堂福利天堂| 亚洲日本电影| 久久国产精品久久国产精品| 在线观看av不卡| 亚洲欧美综合网| 一本色道久久88亚洲综合88| 欧美在线免费视频| 亚洲专区一区二区三区| 欧美精品久久久久久久久老牛影院 | 亚洲国产日韩一区二区| 亚洲午夜电影在线观看| 日韩一区二区精品葵司在线| 鲁大师影院一区二区三区| 亚洲欧美激情诱惑| 国产精品美女久久| 一区二区三区成人| 一区二区国产精品| 欧美精品一区二区久久婷婷| 欧美激情无毛| 卡通动漫国产精品| 久久久av网站| 一区在线免费| 免费一级欧美片在线播放| 欧美国产高清| 亚洲精品一区二区三区av| 欧美国产精品va在线观看| 亚洲国产91精品在线观看| 亚洲高清视频中文字幕| 久久亚洲综合| 亚洲欧洲视频在线| 亚洲一区二区三区免费观看| 国产精品乱子乱xxxx| 久久精品夜夜夜夜久久| 亚洲福利久久| 久久国产精品电影| 亚洲第一页自拍| 欧美三级视频| 欧美在线一区二区三区| 欧美岛国激情| 久久精品伊人| 一区二区三区高清视频在线观看| 久久久久久久久久久久久女国产乱 | 午夜久久久久久| 在线成人欧美| 国产伦精品一区| 欧美日韩一二三四五区| 欧美国产日韩视频| 欧美中文日韩| 亚洲综合精品四区| 亚洲成人在线视频网站| 久久网站热最新地址| 久久久国际精品| 欧美在线视频二区| 亚洲一区欧美| 亚洲欧美日韩国产一区|