HDU 4686 Arc of Dream

http://acm.hdu.edu.cn/showproblem.php?pid=4686多校的第9場比賽,這題是這場比賽中的第一題,似乎是一道簽到題,不過,我第一眼看到,深深地表示不會,唯一想到的就是想去尋找它的迴圈,然後就YY去做它了。好在lele犀利的發現了它是一道矩陣題(表示矩陣做得很少,線代接近白學,orz),然後lele果斷敲掉了它。好吧,賽後在acmood學長的教導下,我自己敲了一個。思路 : 夠造出一個二維矩陣A來,使得A × [ai * bi  ai  bi 1 S(i)]

SRM 586 DIV2 250

Problem Statement  The boys in the yard are going to play soccer. There are N+2 boys, two of which have been chosen as captains. Now they want to divide the other N children into two teams. For convenience, we number the boys who are not captains

Little Elephant and Array 線段樹

        題目        前幾篇文章中出現了“靠”等字眼,一次偶然的機會百度到了一篇轉載自我的文章,轉載者將問中的包含“情緒”的語句全部刪掉了,我這才注意到,最近我變得很容易情緒不好!!我錯了,我想起了高中一老師說的“心靜如水,激情似火”!看來我需要修鍊的東西還很多啊……        題目大意:給定10^5的一個數組,(10^5次)查詢給定區間中出現次數和這個數的值相同的數的個數例如:7 23 1 2 2 3 3 71 73

SGU 407-Number of Paths in the Empire【DP】

題目大意:,給定n個點形成環,中間一個點0,每個點到0連一條邊,問從0開始,經過m條邊有多少條路徑使得回到0點,每個點每條邊都可以經過多次。輸出路徑數思路:這個題目如果不考慮資料規模的話,用矩陣乘法可以解這個題,詳見矩陣的十種應用,那個適用於100個點的任意圖。這個題n<=1000,m<=5000

POJ 2965 The Pilots Brothers’ refrigerator

這題與1753點燈遊戲很類似,只不過變換狀態的方式不一樣罷了..狀態壓縮+BFS就可以解決,與1753不同的就是要記錄路徑,可以通過給隊列中的元素加上pre和next屬性來實現.已耗用時間690MS,感覺挺慢的,後來在dicuss裡看到了一位大牛的總結,很好的方法啊..有時候做題前多思考真的是很重要啊,即使是對一些很面熟的題目.“先看一個簡單的問題,如何把'+'變成'-'而不改變其他位置上的狀態?答案是將該位置(i,j)及位置所在的行(i)和列(j)上所有的handle更新一次,結果該位置被更新

HDU 1175 BFS

每次進行一次"徹底"的搜尋.所謂徹底的搜尋,就是一次性一條直線走過去,因為我們轉了一個彎之後無論走多遠都不會增加轉彎數;0123000001210000比如上面這個表格,我們從 (4,3)    1出來後往下,轉彎數量為1(我們也記錄一次轉彎,最後判斷轉彎數不超過3而不是2)到達(4,4)  再轉個彎往左走,我們可以一直走到(4,1) 都算2個彎.這就是 一次 "徹底" 的搜尋!/* *HDU 1175 *fuqiang11 *BFS *2013/7/30 *關於轉彎次數,本來第一次

ubuntu 安裝 codeblocks 12.11 (或codeblocks 10.05 升級至12.11)

1.安裝gcc: sudo apt-get install build-essential如果要安裝 10.05的 可以直接: sudo apt-get install codeblocks或者從應用中心找codeblocks2:(安裝12.11,或從10.05 更新)這個軟體的:http://www.codeblocks.org/downloads/26  

UVALive 4844 String Popping【記憶化搜尋】

題目大意:給定一個a、b構成的字串,每次可以消去長度不小於2的連續相同字元,問給定字元能否消成空串。思路:首先我的思路就是搜尋,當然暴搜的話逾時。然後我就想著記憶搜尋的狀態,讓狀態變少!我記錄的狀態時:剩餘字母的數量和ab變成01後位元值,打包成pair#include<cstdio>#include<cstring>#include<iostream>#include <map>#include <utility>using

HDU 2612 BFS*2

*2 就是2次了;呵呵題目很坑爹,描述模糊不清.注意幾點:*1.Y點M點相當於牆,不能穿過(雖然不符合常理);*2.@可以穿過另外,題目其實說是求距離和最短還差不多,時間最短不合理了,每人都需要3分鐘到那兒,一共需要多少分鐘,還是3分鐘.但是他疊加了;這到是題外話;代碼:/* *HDU 2612 *fuqiang11 *BFS *2013/7/31*/#include <iostream>#include <cstdio>#include <cstdlib>#

POJ 1265 Pick定理

Pick 定理,1899年設 Γ 為平面上以格子點為頂點之單純多邊形,則其面積為 其中 b 為邊界上的格子點數,i 為內部的格子點數。(8)式叫做 Pick 公式。/* *POJ 1265 *fuqiang *幾何,Pick定理 *2013/8/7*/#include <iostream>#include <cstdio>#include <cstdlib>#include <cstring>#include

UVALive 4847 Binary Search Tree【樹型dp】

題目大意:給定一個1-n的排列,依次將這些數插入到二叉排序樹中,問總共有多少個排列使得構成的二叉樹和給定的排列構成的二叉樹相同本題的思路就是:先構成要求的二叉排序樹,然後再在樹上進行dp狀態轉移為:dp[rt] = dp[lson]*dp[rson]*c(lson,sum);lson 表示左子樹的點的個數,sum表示左右子樹點的個數之和。c(a,b) 表示b中過選擇a個的組合數。狀態轉移應該是比較好理解的吧 代碼寫的比較挫,畢竟不常寫二叉樹#include

codeforces 220c Little Elephant and Shifts

       很少遇到經典的題目,這個不算經典但是卻也非常精彩。題目題目大意:給定兩個兩個1-n的排列,定義兩個排列的距離為:所有相同數字之間距離的最小值,More formally, it's such minimum|i - j|, that ai = bj.定義Acyclic shift number i (1 ≤ i ≤ n) of permutationb consisting from n elements is a

hdu1147-完全背包&&hdu2191-多重背包

 曆盡千辛萬苦  終於把完全背包弄明白了,由此可鑒,對於動態規劃的子結構 還是不太熟悉。加油!!!吖颯 相信自己!我可以的。。。題意:選擇硬幣使瓶子滿(W),且value最小。看懂題就知道

SRM 586 DIV2 500

Problem Statement  F is a function that is defined on all real numbers from the closed interval [1,N]. You are given a vector <int>Y with N elements. For each i (1 <= i <= N) we have F(i) =Y[i-1]. Additionally, you know that F is

POJ 3233 Matrix Power Series 矩陣快速冪+二分

對數位處理:快速冪模+二分求和 求(∑A^b)%C對矩陣的處理同理;只是自己定義一些函數來表示 + * ^ %/* * POJ 3233 * fuqiang * 矩陣快速冪+二分 * 2013/7/31*/#include <iostream>#include <cstring>#include <cstdio>#include <cstdlib>using namespace std;#define maxn 30+3int n, k,

POJ 2318 幾何初步 + 二分 及其 姊妹題 POJ 2398

叉積+二分如果toys在當前板的左邊 cross(L,toys,U) < 0反之在右邊會 > 0根據這個,我們進行二分;為什麼最後得到的不是mid而是l呢?我們來看這張圖.加入現在是 l = 2 , r = 5;mid = 3; toy在4紙板右邊,5紙板左邊,執行l = l +1 = 3, r = 5, mid = 4;依然>0 執行, l = l + 1 = 4,r = 5, mid = 4; 依然大於0 ,執行l = l + 1 = 5, r= 5, 退出; 此時l =

POJ 1696 極角排序

已知三個點 p0,p1,p2 的叉積函數 cross:double cross(point p0,point p1,point p2){    return (p1.x-p0.x)*(p2.y-p0.y)-(p2.x-p0.x)*(p1.y-p0.y) ;}叉積的一個重要性質,判斷兩向量互相之間的順逆時針關係。若 P×Q>0,則 P 在 Q 的順時針方向;若 P×Q<0,則 P 在 Q 的逆時針方向;若 P×Q=0,則 P 和 Q 共線,但可能同向也可能反向;注:Distance

POJ 3304 判斷線段 與 直線 相交

題意:給出n條線段,判斷是否存在有一條直線,滿足所有的線段在直線上投影后至少有一個公用點(與所有線段都會相交)開始想錯了,因為是再已經給的線段中 是否存在選一條做直線,使得它與所有線段相交;這樣也能過sample input;害我找了一天了;#include <iostream>#include <cmath>#include <cstdlib>#include <cstdio>using namespace std;const double

POJ 1269 判斷直線與直線相交

題目意思:給出8個數值 = 4個座標 = 2條直線問兩條直線的關係: 相交(交點), 共線,平行;#include <iostream>#include <cstdio>#include <cstdlib>#include <cstring>#include <cmath>#include <algorithm>#include <queue>using namespace std;#define INF 0x3

UVALive 4725 Airport 【DP】

題目串連該題的dp狀態是dp[i][j]  表示前i時間第一個停機坪有j個飛機飛出時的最大值。由於只有兩個停機坪,所以選擇的第一個的只確定了,那麼第二個也就確定了。當然,本題還存在飛機不夠飛的情況,這個可以提前處理點(0,0 且前面的飛機都飛光了)仔細想想 雖然麻煩點,但是並非不可解。#include <iostream>#include <stdio.h>#include <string.h>using namespace std;#define N 501

總頁數: 61357 1 .... 20322 20323 20324 20325 20326 .... 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.