[U]Cow Pedigrees DP

很明顯的DP但是要注意的東西很多。不能盲目初始化,另外看的DP課件說的就是DP的特徵,最優子結構,最優局部特性。找到DP的關鍵就在這裡。/*ID:nocowsLANG:C++PROG:nocows*/#include<stdio.h>#define MAXN 201#define MAXK 101#define mod 9901using namespace std;int main(){ freopen( "nocows.in","r",stdin ); freopen(

[U]2.4.3 Cow Tours

總算是做到了一點點的圖論題了~ 意味著後面的難題要來了還是覺得自己太懶,不願去花時間,不願意相信自己。這個題呢,有點點意思,本來My Code逾時的,隨手改了點小東西,沒預料到過的竟然過了~

[U]3.1.4 Shaping Regions 遞迴,計算幾何

一道很有意思的題目。只是今天的課程比較緊張,中午敲了下題,下午上完課後接著敲了下題。改了些bug,終於還是過了。鼓勵一下~解題思路:題目大意是矩形覆蓋問題,求最終見到的各種顏色矩形的面積。由於矩形比較多1000個而且座標範圍用點陣表示會爆空間。題中給的Hints也是含混不清。在隊友提點下,終於到瞭解決的辦法。用遞迴,因為題中有很明顯的子問題性質,當前色塊的矩形被上面的矩形覆蓋之後可以分割成小矩形,再通過小矩形被更上面的矩形覆蓋後進而遞推。由於沒有想出用好的方法來表示矩形的碰撞情況,若用枚舉的話,

[U]Longest Prefix DP

茅廁頓開的一道DP題!那真是!突然知道了想通了!那編出來的速度真是快啊!抓牢DP的特徵,構建DP方程~ 嘿嘿~/*ID:sevenst4LANG:C++PROG:prefix*/#include<stdio.h>#include<iostream>#define MAXN 200001using namespace std;int dp[MAXN];char item[201][12];char date[MAXN];int len,icnt;int strlen(

[U]Cow Tours

簡單的類比題,如果是要找周期性的話,真不會啊~..../*ID:sevenst4LANG:C++PROG:ttwo*/#include<stdio.h>using namespace std;char map[20][20];void rotate( int &x,int &y ){ int tx,ty; tx=x;ty=y; x=ty; y=-tx;}int main(){ freopen( "ttwo.in","r",stdin ); freopen( "

托勒密定理 圓的內接四邊形

摘自維基百科:在數學中,托勒密定理是歐幾裡得幾何學中的一個關於四邊形的定理。托勒密定理指出凸四邊形兩組對邊乘積之和不小於兩條對角線的乘積,等號若且唯若四邊形為圓內接四邊形,或退化為直線取得(這時也稱為歐拉定理)。狹義的托勒密定理也可以敘述為:圓內接凸四邊形兩對對邊乘積的和等於兩條對角線的乘積。它的逆定理也是成立的:若一個凸四邊形兩對對邊乘積的和等於兩條對角線的乘積,則這個凸四邊形內接於一圓。托勒密定理實際上可以看做一種判定圓內接四邊形的方法。幾何證明1.設ABCD是圓內接四邊形。2.在弦BC上,

[U]3.1.6 Stamps 會錯意的DP題

3章第一節有道題敲不出來啊~~~沒辦法,只能把後面的題先給敲咯~這個題呢...首先本巨菜想了一個很傻很水很爛的DP方程。使得自己的程式果斷崩了...開了一個10001*200的二維boolean數組,[面額][張數]這樣來DP,因為最大的面額只有10000 ,再通過迴圈數組的方法,勉強使得空間不爆掉,結果過了9個點,第10個點果斷逾時。後來牌桌子一想!可以變成一維DP!a[面額]儲存的值為最小張數;a[i]=min( a[i],a[i-面額]+1

POJ 3613 圖論思想轉化

很有意思的題= =..... 緊跟zzy大神的步伐A題.... 這裡結合離散數學的知識:離散數學中圖的矩陣標記法 用i,j為1表示i到j有一條邊,A*A即A^2就是說i-j為2條邊的路徑種類有多少條。但是這個題的話是運用Floyd的思想,每次更新邊使得路徑條數+1.多的不說了 不說i我的思想。但是對圖論的理解又進了一步!#include<iostream>#define MAXEdge 1000005#define MAXN 1005using namespace std;int

POJ 1444 計算幾何趣題

求長方體上兩點表面距離。用到了比較神奇的遞迴,很有趣。學習之。將1點旋轉至XOY平面,再用遞迴四面展開,限制步數,得到最近的距離。/********************* * Creater:Sevenster * * Time:2012.07.31 13:28 * * PID:POJ 1444 * *********************/#include<iostream>#include<cmath>using namespace

POJ 1716 差分約束 SPFA

和上題一樣的解法。代碼也一樣,一樣糾結了很久。一樣不知道為什麼!!#include<iostream>#include<queue>#define MAXN 20001#define INF 0x7F7F7F7Fusing namespace std;struct Node{ int v,price; Node *next;}Edge[MAXN<<2],*ptr[MAXN];int N;int minV,maxV;int

HDU 1711 裸KMP

終於會KMP了... 哇哈哈哈~#include<iostream>using namespace std;int T,N,M;int next[11111];int s[1111111],t[11111];void setNext(){ int j=1,k=0; while( j<=M ) { if( k==0 || t[j]==t[k] ) next[++j]=++k;

POJ 1161 Floyd 構圖

AC~ 調試了N久的一道題啊~~

[U]3.1.5 Contact 小技巧題

剛開始做這題的時候思路錯了, 把他想成字串模式比對題了。通過構建長度在[A,B]之間的字串,然後再對主字串進行模式比對,想想要用kmp演算法,對於這個我還不是很懂.... 打算好好學習一下kmp,後來估計了一下時間,發現必須逾時。轉而一想:其實需要的只是在主字串中的一些子集,通過直接遍曆主字串長度為len(A<=len<=B),把這個數讀出來,相應的+1就好。通過這種思路,寫完代碼。後發現,對於len=2,選項='00'和len=1,選項='0',都會被歸為一類,明顯這樣不符合題意。

HDU 2087 水KMP

KMP...#include<iostream>#include<string>#include<cstdlib>#include<cstdio>using namespace std;char s[1111],t[1111];int next[1111];int lenS,lenT;void setNext(){ int j=1,k=0; while( j<=lenT ) { if( k==0

POJ 3233 等比矩陣的前N項和

第二次做這個題了,猶豫再三還是交了,果斷秒A,嘿嘿~感覺不錯啊~下面說一下思路:對原矩陣A構造一個2n*2n的方陣。E為單位矩陣,0為0矩陣。| A E || 0 E |這個矩陣的平方為:| A^2 A+E || 0      E      |右上方的A+E就是A^1+A^0就是前兩項的和。通過這個構造矩陣的K次方,右上方的N階矩陣就是前K項和,這前K項其實是0-K-1項。我們要的是1-K項。K++再減去E就是結果了。話說以前我寫這題用了...... 170line??弱爆了!#include&

[U]3.1.3 Humble Numbers 技巧題

這個題呢.... 這樣:輸入資料中給了4個質數2 3 5 7。我們就有4個隊列2-----2 3 5 73-----3 5 75-----5 77-----7每個隊列乘以隊列的第一個數,取出乘積的最小值,插入到隊列中。例如當前的最小值為2*2=4,插入隊列2------3 4 5 73------3 4 5 75------4 5 77------4

POJ 2313 中位元的應用

我發誓再也不看Discuss了~~#include<stdio.h>#include<algorithm>#include<cmath>using namespace std;int A[101];int B[101];int Mid( int a,int b,int c ){ int num[4]; num[0]=a; num[1]=b; num[2]=c; sort(num,num+3); return num[1];}

FZU 2090 無向圖最小環 floyd

【題目大意】給定一個無向圖,求出圖中的最小環。並輸出最小環的個數。【解題思路】1.樸素演算法。對於邊e(u,v),除掉e之後的最短路徑mind(u,v),那麼最小環則為mind(u,v)+e(u,v);2.<圖論中的圈與塊> 一個環中的最大結點為k(編號最大),與他相連的兩個點為i,j,這個環的最短長度為g[i][k]+g[k][j]+i到j的路徑中,所有結點編號都小於k的最短路徑長度    根據floyd的原理,在最外層迴圈做了k-1次之後,dist[i][j]則代表了i到j的路徑

[U]2.4.5 Fractions to Decimals 簡單的語言控制題

簡單的語言控制,考察代碼的熟悉程度。代碼比較醜陋,但是能ac....../*ID:sevenst4LANG:C++PROG:fracdec*/#include<stdio.h>using namespace std;struct node{ int num; int left;}p[100000];bool flag[100001];int main(){ freopen( "fracdec.in","r",stdin ); freopen( "fracdec.out",

HDU 3746 Cyclic Nacklace KMP的性質應用

前面做過類似的題了,所以切出這個來也很簡單。關於KMP的小應用,KMP的next數組的作用就是用來記錄前面的串的狀態的。可以用Len-next[Len]得出當前點的迴圈節。。。這個還是很好理解的。好了KMP在切掉POJ的就在此告一段落了。。。。#include<iostream>using namespace std;char t[111111];int next[111111];int LenT;void setNext(){ int j=0,k=-1; next[

總頁數: 61357 1 .... 13443 13444 13445 13446 13447 .... 61357 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.