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

糯米

TI DaVinci, gstreamer, ffmpeg
隨筆 - 167, 文章 - 0, 評論 - 47, 引用 - 0
數據加載中……

POJ 2492 A Bug's Life 并查集

思路:

這題的背景是亮點,描述如下:
Background 
Professor Hopper is researching the sexual behavior of a rare species of bugs. He assumes that they feature two different genders and that they only interact with bugs of the opposite gender. In his experiment, individual bugs and their interactions were easy to identify, because numbers were printed on their backs.
Problem 
Given a list of bug interactions, decide whether the experiment supports his assumption of two genders with no homosexual bugs or if it contains some bug interactions that falsify it.

Hopper 在研究某種稀有蟲子的性行為。他假設蟲子們有兩種不同的性別,而且它們只跟異性發生關系。
在他的試驗里,每個蟲子和它的性行為都很容易辨認,因為它們的背后印著號碼。
給出一些蟲子的性行為,確定是否有同性戀的蟲子能推翻這個假設。

同性戀確實讓人無法接受,無論是人還是蟲子。。

這題的解法不是亮點,就是普通的并查集,數據量非常龐大,需要路徑壓縮。

#include <stdio.h>
#include 
<string.h>

int N, T, set[2048], val[2048];

inline 
int find(int idx)
{
    
static int stk[2048], i;

    
for (i = 0set[idx]; i++{
        stk[i] 
= idx;
        idx 
= set[idx];
    }

    
for (i--; i >= 0; i--{
        val[stk[i]] 
^= val[set[stk[i]]];
        
set[stk[i]] = idx;
    }


    
return idx;
}


int main()
{
    
int i, j, a, b, t, m, r;

    scanf(
"%d"&T);
    
for (t = 1; t <= T; t++{
        scanf(
"%d%d"&N, &m);
        memset(
set0, (N + 1* 4);
        memset(val, 
0, (N + 1* 4);
        r 
= 0;
        
while (m--{
            scanf(
"%d%d"&a, &b);
            i 
= find(a);
            j 
= find(b);
            
if (i == j) 
                r 
|= val[a] == val[b];
            
else {
                
set[i] = b;
                val[i] 
= !val[a];
            }

        }

        printf(
"Scenario #%d:\n%s\n\n"
                t,
                r 
? "Suspicious bugs found!" : "No suspicious bugs found!"
                );
    }


    
return 0;
}

posted @ 2010-04-17 20:57 糯米 閱讀(755) | 評論 (0)編輯 收藏

POJ 1324 Holedox Moving 貪食蛇

     摘要: 思路:繼推箱子以后,又發現POJ上有這類題目,哈哈。這次是給出一條貪食蛇當前的狀態、墻的位置、食物的位置。求吃到食物需要走的最小的步數。這類題目是相當牛逼的!高手的速度可以做到很BT的。在 status 上面就看到有 0ms 的!相當震驚,如此龐大的數據量能做到 0ms,肯定是神牛!后來搜了一下,還找到了那位神牛的博客,看了一下,發現看不大懂,杯具。。哪一天有空,一定會再想一下這道題的。一開始想了...  閱讀全文

posted @ 2010-04-17 20:47 糯米 閱讀(761) | 評論 (0)編輯 收藏

POJ 2437 Muddy roads 貪心

思路:

四個字:能放就放。。

#include <stdio.h>
#include 
<stdlib.h>

int arr[10032][2], N, L, ans;

int cmp(const void *a, const void *b)
{
    
return *(int *)a - *(int *)b;
}


inline 
int max(int a, int b)
{
    
return a > b ? a : b;
}


int main()
{
    
int i, p, c;

    freopen(
"e:\\test\\in.txt""r", stdin);

    scanf(
"%d%d"&N, &L);
    
for (i = 0; i < N; i++)
        scanf(
"%d%d"&arr[i][0], &arr[i][1]);
    qsort(arr, N, 
sizeof(arr[0]), cmp);

    
for (i = p = 0; p < N; ) {
        i 
= max(i, arr[p][0]);
        c 
= (arr[p][1- i + L - 1/ L;
        i 
+= c * L;
        ans 
+= c;
        
while (p < N && i >= arr[p][1])
            p
++;
    }


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

    
return 0;
}

posted @ 2010-04-17 20:27 糯米 閱讀(382) | 評論 (0)編輯 收藏

POJ 2436 Disease Management 排列組合

     摘要: 思路:這題沒有啥好的方法了,看來。用組合C(K, D)枚舉所有可能的疾病集合。其實復雜度很高的,C(15, 7) 都不知道多大了。但是數據比較弱。用別人的代碼試了一下,用STL里面的全排列生成函數,都可以 60ms AC。下面的代碼,沒有用STL里面的函數,我以為會快一點,結果慢了不少,200+ms。。原理就是把16位分成2個8位來處理。#include <stdio.h>...  閱讀全文

posted @ 2010-04-17 20:24 糯米 閱讀(554) | 評論 (0)編輯 收藏

POJ 2434 Waves 模擬

     摘要: 思路:每個石頭可以分為兩個波,一個高峰波,一個低谷波。每個波可以分為很多個水平方向的波。每個水平方向的波有三種情況,起始點的位置:1. 位于 B1 左邊2. 位于 B1,B2 中間3. 位于 B2 右邊其中第2種情況有點麻煩,多次往返的話要一次算完。代碼:#include <stdio.h>#include <string.h>int P,&...  閱讀全文

posted @ 2010-04-14 16:57 糯米 閱讀(453) | 評論 (0)編輯 收藏

POJ 2431 Expedition 貪心+堆

思路:

有油的時候能走多遠就走多遠,看能否走到目的地。
如果走不到,就必須要加一次油,途中會遇到很多加油站,一定要選油最多的那個。
這很容易理解,因為如果你只加這一次,越多當然越好。如果要以后還要加,那能走遠一點選擇也多一點。

重復這樣的過程就可以求解了。可以用堆維護加油站中的油量。

杯具:稍稍修改了一下堆的寫法,結果WA兩次。。

代碼:
#include <stdio.h>
#include 
<stdlib.h>

#define MAX_N 10032

struct node {
    
int x, f;
}
;

struct node stop[MAX_N];
int N, L, P;
int heap[MAX_N], heap_size;

inline 
void shift_up(int idx)
{
    
int val = heap[idx];
    
while (idx > 1 && heap[idx/2< val) {
        heap[idx] 
= heap[idx/2];
        idx 
/= 2;
    }

    heap[idx] 
= val;
}


inline 
void shift_down(int idx)
{
    
int val = heap[idx];
    
while (1{
        idx 
*= 2;
        
if (idx > heap_size)
            
break;
        
if (idx + 1 <= heap_size && heap[idx + 1> heap[idx])
            idx
++;
        
if (val >= heap[idx])
            
break;
        heap[idx
/2= heap[idx];
    }

    heap[idx
/2= val;
}


int cmp(const void *a, const void *b)
{
    
return ((struct node *)b)->- ((struct node *)a)->x;
}


inline 
void push(int val)
{
    heap[
++heap_size] = val;
    shift_up(heap_size);
}


inline 
void pop()
{
    heap[
1= heap[heap_size--];
    shift_down(
1);
}


int main()
{
    
int i, x, t;

    freopen(
"e:\\test\\in.txt""r", stdin);

    scanf(
"%d"&N);
    
for (i = 0; i < N; i++)
        scanf(
"%d%d"&stop[i].x, &stop[i].f);
    scanf(
"%d%d"&L, &P);
    qsort(stop, N, 
sizeof(stop[0]), cmp);

    push(P);
    x 
= L;
    i 
= 0;
    
for (t = 0; heap_size && x > 0; t++{
        x 
-= heap[1];
        pop();
        
while (i < N && x <= stop[i].x)
            push(stop[i
++].f);
    }

    printf(
"%d\n", x <= 0 ? t - 1 : -1);

    
return 0;
}



posted @ 2010-04-13 13:53 糯米 閱讀(610) | 評論 (0)編輯 收藏

POJ 3040 Allowance 貪心

思路:

每次放錢的時候,遵循兩個原則來尋找最優方案:
1. 不能用面額小的組成面額大的
2. 所有方案中取最接近 C 的那個
就這樣一次次的放,放到沒錢為止。

注意,由于貨幣的數量較大,如果最優方案可以執行多次,那就一次過執行完。

#include <stdio.h>
#include 
<stdlib.h>

#define MAX_N 64

struct node {
    
int val, cnt;
}
;
struct node coin[MAX_N];
int N, C, best, best_idx, ans, need[MAX_N];

inline 
int min(int a, int b)
{
    
return a < b ? a : b;
}


int cmp(const void *a, const void *b)
{
    
return ((struct node *)a)->val - ((struct node *)b)->val;
}


inline 
int put(int idx, int val)
{
    
int n;

    n 
= min(coin[idx].cnt, (C - val - 1/ coin[idx].val);
    val 
+= coin[idx].val * n;
    
if (coin[idx].cnt > n) {
        
if (!best || val + coin[idx].val < best) {
            best 
= val + coin[idx].val;
            best_idx 
= idx;
        }

    }
 
    need[idx] 
= n;

    
return val;
}


inline 
int can()
{
    
int i, val;

    best 
= val = 0;
    
for (i = N - 1; i >= 0; i--)
        val 
= put(i, val);

    
return best;
}


inline 
void update()
{
    
int i, cnt;

    cnt 
= 100000000;
    need[best_idx]
++;
    
for (i = N - 1; i >= best_idx; i--)
        
if (need[i])
            cnt 
= min(cnt, coin[i].cnt / need[i]);
    
for (i = N - 1; i >= best_idx; i--
        coin[i].cnt 
-= cnt * need[i];
    ans 
+= cnt;
}


int main()
{
    
int i;

    scanf(
"%d%d"&N, &C);
    
for (i = 0; i < N; i++
        scanf(
"%d%d"&coin[i].val, &coin[i].cnt);
    qsort(coin, N, 
sizeof(coin[0]), cmp);
    
    
while (coin[N - 1].val >= C) {
        ans 
+= coin[N - 1].cnt;
        N
--;
    }

    
while (can())
        update();
    
    printf(
"%d\n", ans);

    
return 0;
}

posted @ 2010-04-13 12:25 糯米 閱讀(567) | 評論 (0)編輯 收藏

POJ 2430 Lazy Cows 動態規劃

     摘要: 屬于狀態型的動態規劃,特難搞的那一類,狀態一多,轉換的時候難免遺漏一兩個。這題還算,借助數據搞出來了,漏了兩個轉移,結果一組數據過不了。后來加上就AC了,時間還行,32MS。思路:從左往右開始放矩形,假設現在準備擺放第i列之后的矩形。實際上我們只關注第i-1列是怎么擺的,前面怎么擺都無所謂。所以,第i列牛的狀態 + 第i-1列擺放的狀態 -> 第i列擺放的狀態擺放的狀態有五種:1. 光上面有...  閱讀全文

posted @ 2010-04-13 12:19 糯米 閱讀(1008) | 評論 (0)編輯 收藏

POJ 3047 Bovine Birthday 算日期

看到這道題,忽然想到,這就是大一時候C++考試的最后一題啊!
叫寫一個程序,計算今天是星期幾。
那時候記得寫滿了半張卷子。。八成還沒寫對。
不過今天,只用了5行!
我感到很由衷的高興,面包會有的,牛奶會有的,腦殘只是暫時的!

#include <stdio.h>

int days[] = {
    
0,
    
315990120,
    
151181212243,
    
273304334365
}
;

char *weeks[] = {
    
"monday""tuesday""wednesday"
    
"thursday""friday""saturday"
    
"sunday"
}
;

int main()
{
    
int y, m, d, w;

    freopen(
"e:\\test\\in.txt""r", stdin);

    scanf(
"%d%d%d"&y, &m, &d);
    d 
+= (y - 1799)*365 - 1;
    
if (m <= 2)
        y
--;
    d 
+= (y/4 - 449- (y/100 - 17+ y/400 - 4 + days[m - 1];
    w 
= (d + 1% 7;
    printf(
"%s\n", weeks[w]);

    
return 0;
}

posted @ 2010-04-12 16:51 糯米 閱讀(323) | 評論 (0)編輯 收藏

POJ 3039 Skiing 單源最短路徑

這題看起來很屌。
但是實際上走到每個點之后,速度必然是當前點和左上角點的差值的倒數。
所以,每個點到其他點的所花費的時間都是這個點自己的值決定的。
而且沒可能經過一個點兩次的,因為經過兩次肯定是浪費時間的。
問題就變成了求最短路徑。

注意:
這題的精度很莫名其妙,用C++可以AC的,G++、GCC都是WA。
不能用整數來保存時間,雖然看上去位數是夠用的,但是遇到比較屌的數據就掛了。
就在這個問題上杯具了很久。

#include <stdio.h>
#include 
<math.h>

#ifndef _countof
#define _countof(x) (sizeof(x)/sizeof(x[0]))
#endif

#define SIZE 128

int map[SIZE][SIZE], R, C, V;
double D[SIZE][SIZE], _tbl[128], *tbl = &_tbl[64];
int queue[65536][2], head, tail;
int vis[SIZE][SIZE];

inline 
void push(int y, int x, double d)
{
    
if (y < 0 || y >= R || x < 0 || x >= C)
        
return ;
    
if (d > D[y][x])
        
return ;
    D[y][x] 
= d;
    
if (vis[y][x])
        
return ;
    vis[y][x] 
= 1;
    queue[tail][
0= y;
    queue[tail][
1= x;
    tail
++;
    tail 
&= _countof(queue) - 1;
}


inline 
void pop(int *y, int *x)
{
    
*= queue[head][0];
    
*= queue[head][1];
    head
++;
    head 
&= _countof(queue) - 1;
    vis[
*y][*x] = 0;
}


int main()
{
    
int i, j;
    
double d;

    freopen(
"e:\\test\\in.txt""r", stdin);

    
for (i = -64; i <= 64; i++)
        tbl[i] 
= pow(2.0, i);

    scanf(
"%d%d%d"&V, &R, &C);
    
for (i = 0; i < R; i++{
        
for (j = 0; j < C; j++{
            scanf(
"%d"&map[i][j]);
            
if (i || j)
                map[i][j] 
-= map[0][0];
            D[i][j] 
= 1e80;
        }

    }

    map[
0][0= 0;

    push(
000); 
    
while (head != tail) {
        pop(
&i, &j);
        d 
= D[i][j] + tbl[map[i][j]];
        push(i 
+ 1, j, d);
        push(i 
- 1, j, d);
        push(i, j 
+ 1, d);
        push(i, j 
- 1, d);
    }


    printf(
"%.2lf\n", D[R - 1][C - 1/ V);
    
    
return 0;
}

posted @ 2010-04-12 16:45 糯米 閱讀(483) | 評論 (0)編輯 收藏

僅列出標題
共17頁: First 5 6 7 8 9 10 11 12 13 Last 
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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线观看| 亚洲五月婷婷| 国产一区二区福利| 欧美日韩xxxxx| 欧美va亚洲va香蕉在线| 午夜日韩av| 欧美有码视频| 久久免费国产| 米奇777超碰欧美日韩亚洲| 香蕉免费一区二区三区在线观看| 欧美一级在线播放| 欧美日本韩国一区| 美女脱光内衣内裤视频久久影院| 欧美影院成人| 久久久蜜桃一区二区人| 欧美va天堂va视频va在线| 欧美高清不卡在线| 欧美日韩亚洲一区| 欧美午夜精品久久久久免费视| 欧美精品videossex性护士| 欧美精品日韩精品| 国产精品推荐精品| 亚洲国产一区在线| 亚洲五月六月| 久久视频免费观看| 亚洲人在线视频| 国产精品久久久久9999吃药| 国产精品福利网| 国产在线成人| 亚洲素人一区二区| 欧美专区亚洲专区| 亚洲第一久久影院| 亚洲系列中文字幕| 免费欧美在线| 激情婷婷亚洲| 欧美高清免费| 欧美影院精品一区| 亚洲美女福利视频网站| 久久偷看各类wc女厕嘘嘘偷窃| 欧美日韩一区二区在线播放| 国产综合色产在线精品| 亚洲在线日韩| 在线亚洲高清视频| 欧美日韩伊人| 国产精品久久夜| 欧美电影免费观看高清完整版| 国产精品久久久久久久久| 亚洲欧洲精品一区| 欧美va亚洲va日韩∨a综合色| 亚洲综合首页| 精品动漫一区| 母乳一区在线观看| 欧美精品999| 午夜精品久久久久| 久久久久久久久一区二区| 一区二区视频免费完整版观看| 久久天堂国产精品| 欧美黄色片免费观看| 亚洲午夜免费视频| 亚洲综合首页| 国产精品xxxxx| 在线播放中文字幕一区| 久热精品在线视频| 欧美成人免费观看| 亚洲精品久久久蜜桃| 在线综合亚洲欧美在线视频| 国产乱肥老妇国产一区二| 久久琪琪电影院| 国产精品乱人伦一区二区 | 亚洲福利视频专区| 国产精品视频免费观看| 免费在线国产精品| 国产欧美日韩综合一区在线观看 | 亚洲激情啪啪| 久久夜色精品亚洲噜噜国产mv | 亚洲视频国产视频| 久久成人人人人精品欧| 欧美淫片网站| 亚洲专区一区| 欧美大片一区二区| 亚洲欧美日韩精品久久亚洲区| 美日韩在线观看| 美女脱光内衣内裤视频久久网站| 国产精品久久九九| 亚洲天堂男人| 奶水喷射视频一区| 久久午夜av| 亚洲精品乱码久久久久| 欧美精品久久久久久久| 亚洲国产成人在线| 亚洲人成网站在线播| 1024国产精品| 麻豆精品在线视频| 欧美成人精品激情在线观看| 亚洲第一区在线观看| 麻豆精品传媒视频| 亚洲韩国一区二区三区| 亚洲最新视频在线播放| 欧美性一区二区| 欧美一区二区免费观在线| 狼狼综合久久久久综合网 | 久久精品人人爽| 亚洲高清三级视频| 午夜精彩国产免费不卡不顿大片| 国产精品视频一区二区高潮| 久久夜色精品国产亚洲aⅴ| 亚洲国产精品久久久| 久久国产欧美精品| 99精品国产在热久久婷婷| 国产欧美午夜| 国产精品日韩一区二区| 欧美日韩视频在线观看一区二区三区 | 欧美在线999| 一本色道久久精品| 免费av成人在线| 欧美一区二区三区在线播放| 亚洲人线精品午夜| 亚洲欧洲综合| 亚洲人午夜精品| 韩国成人福利片在线播放| 欧美日韩国产系列| 欧美精品偷拍| 欧美裸体一区二区三区| 欧美.日韩.国产.一区.二区| 性色av香蕉一区二区| 亚洲一区免费| 香蕉av福利精品导航| 羞羞答答国产精品www一本| 亚洲欧美经典视频| 激情五月婷婷综合| 99国产精品私拍| 亚洲欧美日韩国产精品 | 欧美色视频日本高清在线观看| 久久成人免费网| 男女av一区三区二区色多| 欧美黄色视屏| 国产亚洲视频在线| 亚洲国产毛片完整版| 亚洲免费观看高清在线观看| 99热精品在线观看| 久久影视精品| 在线一区日本视频| 久久―日本道色综合久久| 欧美激情精品久久久久久| 国产精品一区免费观看| 国内成+人亚洲+欧美+综合在线| 国内精品美女在线观看| 一区二区高清在线| 欧美成人亚洲| 在线视频欧美一区| 久久精视频免费在线久久完整在线看| 亚洲欧美日韩精品久久亚洲区 | 国产免费成人在线视频| 亚洲国产一区二区精品专区| 久久激情五月激情| 亚洲夜晚福利在线观看| 欧美精品18+| 中国成人亚色综合网站| 亚洲国产成人久久综合一区| 一区二区三区四区五区精品| 久久精品首页| 久久久久国色av免费看影院| 国产精品区一区| 欧美在线视频一区二区| 一本色道久久88亚洲综合88| 欧美日韩国产123| 亚洲性线免费观看视频成熟| 欧美激情影院| 欧美美女福利视频| 国产精品99久久久久久白浆小说| 亚洲美女毛片| 国产午夜精品理论片a级大结局| 午夜欧美理论片| 免费影视亚洲| 性欧美1819性猛交| 免费在线观看成人av| 午夜视频一区| 麻豆成人在线| 一区二区三区四区在线| 亚洲欧美日产图| 一区二区三区国产盗摄| 欧美亚洲日本网站| 亚洲尤物在线| 欧美国产在线视频| 久久久久久久综合色一本| 欧美成人久久| 久久人人爽人人爽爽久久| 国产精品videosex极品| 你懂的网址国产 欧美| 欧美黑人多人双交| 国产色产综合产在线视频| 欧美激情精品久久久久久免费印度 | 国产精品毛片a∨一区二区三区|国| 亚洲欧美日韩天堂一区二区| 免费日韩成人| 亚洲欧洲日产国产综合网| 亚洲高清在线观看| 久久亚洲视频| 国产亚洲欧美一区二区| 一本色道久久综合亚洲精品婷婷|