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

【AHOI2013復(fù)仇】BZOJ2165

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

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

但是,本題有一個細(xì)節(jié)很重要,必須要說一下(因為本沙茶在這里卡了1h+)……那就是溢出問題……
F[i][j]的值是有可能超過long long的范圍的,然而如果硬加高精度的話穩(wěn)T,這時,在進(jìn)行矩陣乘法(實際是加法)的時候,需要特判一下,如果這個和超過了INF(INF是~0Ull>>2,>1018),就取INF。這樣可能會破壞結(jié)合律,但是木有事,因為若兩個加數(shù)都是非負(fù)數(shù),則不會破壞,若有負(fù)數(shù),則一定表示無解(-INF),這個特判一下就行了(若兩個加數(shù)之中有負(fù)數(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>
            国产精品视区| 久久成人人人人精品欧| 日韩视频国产视频| 亚洲人久久久| 9色精品在线| 一本色道久久综合精品竹菊| 日韩午夜av电影| 中文久久精品| 久久狠狠亚洲综合| 免费在线亚洲| 亚洲日本电影| 日韩一区二区福利| 亚洲欧美日韩国产另类专区| 欧美一区网站| 久热精品视频在线免费观看 | 噜噜噜91成人网| 欧美片在线观看| 国产精品视频观看| 在线成人激情视频| 亚洲精品色婷婷福利天堂| 亚洲午夜视频在线观看| 久久午夜精品| 欧美精品久久久久久久久老牛影院 | 久久大逼视频| 亚洲国产精品精华液网站| 中文在线不卡| 亚洲高清视频中文字幕| 欧美激情精品久久久久久| 国产精品mv在线观看| 国产亚洲人成a一在线v站| 亚洲人成在线观看一区二区| 香蕉久久夜色| 亚洲经典在线| 久久成年人视频| 欧美日韩国产综合一区二区| 精品福利av| 亚洲欧美日韩综合| 亚洲激情网址| 久久亚洲私人国产精品va| 国产美女一区二区| 中文久久精品| 亚洲国产91色在线| 欧美影视一区| 国产精品海角社区在线观看| 亚洲激情在线播放| 久久综合色88| 午夜精品久久久久久久久久久| 欧美精品在线看| 91久久在线播放| 久久欧美中文字幕| 亚洲欧美综合精品久久成人| 国产精品萝li| 午夜在线a亚洲v天堂网2018| 一本色道久久99精品综合| 欧美精品乱码久久久久久按摩| 亚洲国产你懂的| 欧美aaaaaaaa牛牛影院| 久久亚洲精品网站| 伊人色综合久久天天五月婷| 久久尤物电影视频在线观看| 久久精品视频在线播放| 国产一区二区毛片| 久久琪琪电影院| 久久人人爽人人爽| 亚洲国产一成人久久精品| 欧美电影免费观看网站| 老鸭窝毛片一区二区三区| 精品二区视频| 亚洲高清在线观看| 欧美日本精品在线| 亚洲欧美999| 久久成人免费日本黄色| 韩国精品一区二区三区| 久久中文在线| 欧美精品国产| 亚洲欧美影院| 久久久久久亚洲精品杨幂换脸| 精品1区2区3区4区| 亚洲国产成人高清精品| 欧美视频一区在线| 久久国产主播| 免费亚洲电影| 一本久久a久久免费精品不卡| 一区二区欧美激情| 国产伦精品一区二区三区免费迷 | 欧美久久久久免费| 亚洲男女自偷自拍图片另类| 香蕉成人啪国产精品视频综合网| 国内精品美女av在线播放| 欧美刺激性大交免费视频| 欧美日韩亚洲不卡| 欧美一区二区三区免费看 | 国产精品国产精品| 久久精品国产一区二区电影| 久久久久免费视频| 亚洲综合日韩中文字幕v在线| 久久久999精品| 一区二区毛片| 久久精品欧美日韩精品| 中文在线一区| 久久久久国产一区二区三区四区 | 久久一区欧美| 欧美日韩一区视频| 女人香蕉久久**毛片精品| 欧美午夜宅男影院| 欧美成人高清视频| 国产精品亚洲综合| 亚洲国产一区二区三区青草影视 | 亚洲网站在线播放| 亚洲欧洲日本国产| 欧美一区二区视频在线观看| 99成人在线| 鲁鲁狠狠狠7777一区二区| 午夜在线精品偷拍| 欧美日韩国产一级片| 免费成人激情视频| 欧美影院视频| 亚洲综合国产激情另类一区| 欧美gay视频激情| 久久综合色播五月| 国产综合色一区二区三区| 在线视频亚洲一区| 一本久久综合| 欧美日韩国产精品专区| 欧美成人精品在线观看| 国产伪娘ts一区 | 亚洲精品美女免费| 在线精品国产欧美| 久久久久**毛片大全| 久久精品亚洲一区| 国产乱码精品一区二区三| 一本色道久久综合| 亚洲午夜精品网| 欧美视频在线一区二区三区| 亚洲人体1000| 一本色道久久加勒比精品| 欧美激情一区二区三区在线| 欧美激情国产日韩精品一区18| 伊人久久久大香线蕉综合直播| 久久久夜精品| 免费在线观看成人av| 在线看欧美日韩| 欧美国产日韩一区| 欧美激情乱人伦| 牛牛精品成人免费视频| 狠狠色狠狠色综合日日91app| 久久精品欧美日韩| 久久精品国产96久久久香蕉| 国内不卡一区二区三区| 久久久久九九九| 欧美电影打屁股sp| 9i看片成人免费高清| 欧美三日本三级少妇三2023| 亚洲视频1区| 久久视频这里只有精品| 亚洲国产精品视频一区| 欧美日韩国产首页在线观看| 亚洲午夜视频| 久久久久一区二区三区| 亚洲国产天堂久久综合| 欧美日本在线视频| 亚洲一区二区三区在线| 亚洲国产婷婷香蕉久久久久久| 欧美国产精品v| 亚洲视频第一页| 美女啪啪无遮挡免费久久网站| 亚洲精品久久久久久久久久久久久 | 在线一区欧美| 国产亚洲福利| 欧美阿v一级看视频| 亚洲视频一区在线| 快she精品国产999| 一区二区毛片| 国产亚洲一区二区三区在线播放| 牛牛国产精品| 午夜在线不卡| 亚洲精品一区二| 久久久亚洲人| 亚洲午夜精品在线| 一色屋精品视频免费看| 欧美日韩免费高清| 久久久久久久久综合| 一本色道久久综合亚洲精品婷婷| 久久免费一区| 亚洲欧美日韩国产一区| 亚洲国产精品久久| 国产区精品在线观看| 欧美激情一二区| 久久久www成人免费毛片麻豆| 亚洲精品一区在线观看| 欧美成ee人免费视频| 欧美一区二区三区免费看| 一本色道久久88精品综合| 激情视频亚洲| 国产亚洲美州欧州综合国| 国产精品免费看久久久香蕉| 欧美激情日韩| 欧美成黄导航| 免费欧美在线视频| 久久综合亚州|