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

【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>
            久久久亚洲午夜电影| 国产欧美精品| 亚洲欧美日韩一区二区三区在线观看 | 亚洲福利视频专区| 国产亚洲成av人片在线观看桃| 国产欧美日韩精品丝袜高跟鞋| 国产精品性做久久久久久| 国产日韩av高清| 亚洲国产精品免费| 亚洲婷婷综合色高清在线| 久久er精品视频| 欧美激情精品久久久久久久变态| 亚洲破处大片| 99在线|亚洲一区二区| 亚洲视频欧美视频| 久久久精品网| 国产精品爱啪在线线免费观看| 国产亚洲一区精品| 亚洲国产高清在线观看视频| 一本色道久久88精品综合| 午夜精品福利一区二区三区av| 久久综合久久综合久久综合| 亚洲精品国产精品久久清纯直播| 亚洲图片在线观看| 美国十次了思思久久精品导航| 欧美视频不卡中文| 亚洲第一黄网| 欧美在线观看日本一区| 亚洲成人资源网| 欧美一级在线视频| 欧美视频第二页| 亚洲国产精品久久人人爱蜜臀 | 老司机成人在线视频| 亚洲七七久久综合桃花剧情介绍| 久久精品国产一区二区三区| 欧美精品一区三区在线观看| 国产日韩欧美日韩| 亚洲天堂成人在线视频| 欧美成年人网站| 欧美一区二区精美| 国产精品久久久久久久浪潮网站| 亚洲日本精品国产第一区| 久久久99爱| 亚洲午夜伦理| 欧美日韩色婷婷| 亚洲精品永久免费精品| 久久精品国产视频| 亚洲国产精品一区| 亚洲深夜福利视频| 欧美国产欧美亚洲国产日韩mv天天看完整 | 欧美大色视频| 在线电影国产精品| 久久精品日产第一区二区三区| 在线视频你懂得一区二区三区| 欧美精品自拍| 夜夜嗨一区二区| 亚洲老板91色精品久久| 欧美国产欧美亚洲国产日韩mv天天看完整| 国产一区二区三区奇米久涩| 欧美在线视频免费播放| 亚洲欧美综合网| 国产偷久久久精品专区| 久久精品主播| 久久久久久久久综合| 亚洲第一久久影院| 欧美激情日韩| 欧美精品激情在线| 中文亚洲视频在线| 亚洲一二三区在线观看| 国产精品无码专区在线观看| 久久久精品五月天| 久久综合婷婷| 99国产精品久久久久老师 | 日韩视频一区二区| 欧美视频在线观看免费| 亚洲欧美三级在线| 欧美一区免费视频| 亚洲国产精品福利| 亚洲国产日韩综合一区| 欧美日韩国产色站一区二区三区| 亚洲婷婷综合久久一本伊一区| 亚洲午夜av电影| 黄色影院成人| 亚洲精品网站在线播放gif| 国产精品chinese| 欧美影院午夜播放| 久久综合中文| 亚洲裸体视频| 亚洲色在线视频| 精品成人乱色一区二区| 亚洲国内精品| 国产欧美精品| 亚洲精品国精品久久99热一| 国产精品丝袜久久久久久app| 久久青草福利网站| 欧美日韩免费观看一区三区| 欧美电影打屁股sp| 午夜精品成人在线| 亚洲国产精品va在线看黑人动漫 | 欧美成人资源| 欧美系列精品| 欧美国产日韩一区二区在线观看| 欧美日韩国产不卡在线看| 午夜精品免费在线| 麻豆乱码国产一区二区三区| 亚洲欧美日韩国产成人| 欧美成人精品一区二区| 久久久999精品视频| 欧美性猛交xxxx免费看久久久| 欧美bbbxxxxx| 国产精品自拍一区| 亚洲三级免费观看| 在线观看国产成人av片| 亚洲视频在线二区| 亚洲三级网站| 久久久久久网站| 欧美中文在线免费| 欧美日韩在线播放三区| 欧美激情小视频| 尤物精品在线| 久久国产精品一区二区三区四区| 亚洲淫性视频| 欧美日韩午夜视频在线观看| 女同性一区二区三区人了人一| 国产日韩在线播放| 亚洲一级片在线观看| 亚洲视频观看| 欧美日韩国产二区| 亚洲精品黄网在线观看| 亚洲狠狠婷婷| 久久亚洲免费| 免费欧美日韩| 经典三级久久| 久久精品亚洲一区二区| 久久激情一区| 黄色国产精品| 久久久久久久成人| 免费成人高清在线视频| 亚洲成色777777女色窝| 久久久久国内| 欧美国产三级| 日韩亚洲一区二区| 欧美日韩在线电影| 亚洲小视频在线| 欧美中文在线观看国产| 黄色成人在线观看| 欧美成人在线影院| 亚洲美女在线视频| 亚洲欧美日韩第一区| 国产在线欧美| 麻豆国产精品777777在线| 欧美成人69av| 一区二区激情视频| 国产精品s色| 欧美在线一级视频| 欧美国产精品中文字幕| 夜夜嗨av色综合久久久综合网 | 亚洲精品美女| 欧美极品影院| 亚洲一区二区精品在线观看| 久久久精品国产免费观看同学| 欧美日韩亚洲国产一区| 亚洲欧美日韩在线一区| 国产区精品视频| 久久露脸国产精品| 亚洲激情视频网站| 先锋影音久久久| 亚洲国产黄色片| 欧美日韩一区三区四区| 先锋影音网一区二区| 欧美成人综合一区| 亚洲伊人伊色伊影伊综合网 | 一本一道久久综合狠狠老精东影业 | 久久久久综合一区二区三区| 亚洲欧洲一级| 国产精品香蕉在线观看| 欧美成人a视频| 亚洲影院色无极综合| 女同性一区二区三区人了人一| 亚洲小少妇裸体bbw| 在线观看91精品国产入口| 国产精品久久久久久久久久尿| 久久综合福利| 亚洲欧美成人网| 亚洲人午夜精品| 老司机午夜精品视频| 午夜精品久久久久久99热| 亚洲精品一品区二品区三品区| 国产一区二区三区成人欧美日韩在线观看| 欧美激情免费在线| 久久久一二三| 香港成人在线视频| 一本色道久久综合狠狠躁的推荐| 开心色5月久久精品| 欧美一区亚洲| 亚洲欧美高清| 亚洲性感美女99在线| 999在线观看精品免费不卡网站| 国外成人网址| 国产欧美不卡|