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

隨筆 - 97, 文章 - 22, 評論 - 81, 引用 - 0
數據加載中……

PKU 1186 方程的解數

題目鏈接:http://poj.org/problem?id=1186
/*
題意:
    已知一個n元高次方程: 
其中:x1, x2,,xn是未知數,k1,k2,,kn是系數,p1,p2,pn是指數。
且方程中的所有數均為整數。 
假設未知數1 <= xi <= M, i=1,,,n,求這個方程的整數解的個數。 
1 <= n <= 6;1 <= M <= 150。   
方程的整數解的個數小于2^31。 
★本題中,指數Pi(i=1,2,,n)均為正整數。 

題解:
    DFS + HASH

思路:
    一看到題目以為是解方程的,仔細一看,其實不然,題目有一個條件就是
未知數的數目n很小,只有6,而且未知數也是有上限(1 <= M <= 150),所以
當最大情況的時候可以枚舉3個未知數的值,一共150^3,然后插入到hash表中,
再枚舉另外三個組成的所有情況,每次得到一個和為S時,只要查詢hash表中-S
的數的數量,加到最后的答案即可。
    這樣就把本來150^6的復雜度開了個根號。枚舉數的時候因為n是不確定的
,所以我采用dfs來枚舉,這樣寫起來會方便許多。
*/


#include 
<iostream>

using namespace std;

#define maxn 4642307
#define ll __int64
int split;

int nowPos[maxn], Case;
int hash[maxn];
int key[maxn];

int n, M;

int EXP(int a, int b) {
    
if(b == 0)
        
return 1;
    
int tmp = EXP(a*a, b/2);
    
if(b & 1)
        tmp 
*= a;
    
return tmp;
}


struct point {
    
int k, p;
}
pt[6];

void Insert(int val) {
    
int s = val % maxn;
    
if(s < 0)
        s 
+= maxn;

    
while(1{
        
if(nowPos[s] != Case) {
            nowPos[s] 
= Case;
            hash[s] 
= 1;
            key[s] 
= val;
            
return ;
        }
else {
            
if(key[s] == val) {
                hash[s] 
++;
                
return ;
            }

            s 
++;
            
if(s == maxn)
                s 
= 0;
        }

    }

}


int Query(int val) {
    
int s = val % maxn;
    
if(s < 0)
        s 
+= maxn;
    
    
while(1{
        
if(nowPos[s] != Case) {
            
return 0;
        }
else {
            
if(key[s] == val) {
                
return hash[s];
            }

            s 
++;
            
if(s == maxn)
                s 
= 0;
        }

    }

}


void dfs0(int depth, int sum) {
    
if(depth == split || depth == n) {
        Insert(sum);
        
return ;
    }

    
int i;
    
for(i = 1; i <= M; i++{
        dfs0(depth
+1, sum + pt[depth].k * EXP(i, pt[depth].p) );
    }

}


void dfs1(int depth, int sum, int& ans) {
    
if(depth == n) {
        ans 
+= Query(- sum);
        
return ;
    }

    
int i;
    
for(i = 1; i <= M; i++{
        dfs1(depth
+1, sum + pt[depth].k * EXP(i, pt[depth].p), ans );
    }

}


int main() {
    
int i;
    
while(scanf("%d %d"&n, &M) != EOF) {

        
if(n <= 4{
            split 
= 2;
        }
else
            split 
= 3;

        Case 
++;
        
for(i = 0; i < n; i++{
            scanf(
"%d %d"&pt[i].k, &pt[i].p);
        }

        dfs0(
00);

        
int ans = 0;
        
if(n <= split) {
            ans 
= Query(0);
        }
else {
            dfs1(split, 
0, ans);
        }

        printf(
"%d\n", ans);
    }

    
return 0;
}

posted on 2011-04-09 23:55 英雄哪里出來 閱讀(1331) 評論(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一区二区三区漫画| 欧美一区二区私人影院日本| 久久国产主播精品| 久久精品视频va| 欧美va天堂在线| 亚洲黄色在线| 99在线热播精品免费| 亚洲一区二区精品在线观看| 小处雏高清一区二区三区 | 国产精品久久久久婷婷| 国产精品视频内| 伊人精品成人久久综合软件| 亚洲精品久久久久久久久久久久 | 亚洲大片在线| 日韩视频一区二区三区在线播放 | 狠狠做深爱婷婷久久综合一区| 精品91免费| 亚洲天堂男人| 美女视频黄a大片欧美| 亚洲精品在线视频观看| 午夜精品一区二区三区在线视 | 欧美精品国产一区| 国产精品最新自拍| 亚洲精品一区中文| 久久久久国产精品人| 亚洲精品视频一区| 久久gogo国模裸体人体| 欧美人与性禽动交情品 | 狠狠久久五月精品中文字幕| 亚洲欧洲日韩在线| 久久不射电影网| 日韩一级欧洲| 欧美成人第一页| 一区二区三区亚洲| 西西人体一区二区| 日韩视频国产视频| 欧美高清视频一区二区| 国产亚洲福利社区一区| 亚洲午夜在线视频| 91久久夜色精品国产九色| 久久激情综合| 国产日韩欧美中文| 亚洲免费一区二区| 亚洲久久一区二区| 欧美黑人国产人伦爽爽爽| 狠狠色丁香久久婷婷综合丁香| 一区二区三区视频观看| 久久久精品一区| 亚洲六月丁香色婷婷综合久久| 欧美在线电影| 国产乱码精品一区二区三区忘忧草 | 久久伊人一区二区| 国产日韩欧美亚洲一区| 亚洲一区日韩| 一区二区三区国产精品| 欧美日韩亚洲一区三区 | 欧美一区深夜视频| 国产视频观看一区| 久久久精品国产免费观看同学| 亚洲影视综合| 国产亚洲一级高清| 久久综合伊人| 美女性感视频久久久| 亚洲国产精品黑人久久久| 欧美99久久| 欧美精品黄色| 亚洲性感美女99在线| 日韩亚洲精品电影| 国产精品日韩久久久久| 久久精品毛片| 男女精品网站| 亚洲特色特黄| 欧美有码视频| 亚洲精品久久久久久一区二区| 亚洲第一二三四五区| 欧美日韩国产不卡| 亚洲欧美日韩中文在线制服| 亚洲欧美制服中文字幕| 激情成人综合网| 91久久久亚洲精品| 国产伦精品一区二区三区在线观看 | a91a精品视频在线观看| 亚洲久久一区二区| 国产精品久久久久aaaa九色| 久久国产精品一区二区三区四区| 久久精品九九| 一本色道综合亚洲| 亚洲欧美自拍偷拍| 亚洲黄色影院| 亚洲自拍三区| 亚洲精品在线免费观看视频| 亚洲婷婷免费| 亚洲精美视频| 午夜亚洲视频| 亚洲精品影院在线观看| 国产一区观看| 亚洲日韩视频| 国产日韩欧美综合精品| 最新国产成人在线观看| 国产女精品视频网站免费| 免费亚洲电影在线观看| 国产精品欧美久久| 亚洲第一综合天堂另类专| 国产精品久久999| 欧美国产一区在线| 国产午夜精品全部视频在线播放 | 免费看亚洲片| 国产欧美69| 亚洲精品在线免费| 亚洲欧洲精品一区二区精品久久久| 亚洲午夜伦理| 中文精品视频| 欧美激情精品久久久| 免播放器亚洲一区| 国内精品伊人久久久久av影院 | 欧美日韩国产另类不卡| 开心色5月久久精品| 国产精品久久久久久久app| 亚洲国产精品福利| 亚洲国产成人精品久久| 欧美一级一区| 欧美中日韩免费视频| 欧美日韩一区二区国产| 亚洲黄色一区| 亚洲免费高清| 欧美精品久久久久久| 欧美激情国产日韩| 在线国产欧美| 久久免费视频一区| 麻豆精品传媒视频| 亚洲成色777777在线观看影院| 欧美在线视频观看| 久久人人97超碰精品888| 国产日韩一区二区三区在线| 在线一区二区日韩| 亚洲欧美中文字幕| 国产伦精品一区二区三区在线观看 | 欧美三级小说| 日韩一本二本av| 中文在线资源观看网站视频免费不卡 | 欧美国产一区二区在线观看 | 羞羞答答国产精品www一本| 美日韩精品视频| 久久久久国产精品一区二区| 欧美日韩国产高清视频| 亚洲欧美在线视频观看| 欧美激情中文字幕一区二区| 久久亚洲不卡| 国产伊人精品| 久久av老司机精品网站导航| 老司机凹凸av亚洲导航| 亚洲国产欧洲综合997久久| 美女脱光内衣内裤视频久久网站| 欧美黄污视频| 在线性视频日韩欧美| 欧美日韩和欧美的一区二区| 一区二区久久久久| 久久成人免费电影| 亚洲电影在线看| 欧美日本一区二区高清播放视频| 夜夜爽夜夜爽精品视频| 午夜免费久久久久| 激情自拍一区| 欧美日韩三区四区| 午夜亚洲视频| 亚洲理论在线观看| 久久国产99| 日韩午夜一区| 国产日韩欧美日韩| 欧美日韩国产片| 欧美一级久久久| 亚洲精品中文字幕女同| 欧美一区二区三区男人的天堂 | 99亚洲一区二区| 卡一卡二国产精品| 亚洲综合精品一区二区| 国产综合视频| 欧美手机在线视频| 久久婷婷丁香| 亚洲欧美日韩综合| 亚洲精品欧美在线| 免费国产一区二区| 香蕉久久夜色精品国产| 亚洲欧洲一区二区在线播放| 国产精品一区二区三区免费观看| 老鸭窝亚洲一区二区三区| 亚洲一区二区三区高清| 亚洲精品国产精品国自产观看| 久久精品视频播放| 亚洲免费中文| 99国产精品久久久久老师| 国内外成人在线|