UVA 147 – Dollars

題目大意:就是有幾種面額的硬幣,輸入錢S,求有多少種不同的找錢方法。S是其中最小面額的倍數。題目類型: dp / DAG上的路徑計數問題題目分析:其實這題跟  UVA 674 - Coin Change  基本一樣。只是輸入的S是實數,而且輸出的方法數會超過int32(這裡WA了一次) ,所以要 long long。輸入的S由於是其中最小面額的倍數,所以轉成int,這裡要注意四捨五入(又WA了一次)。最後,還有輸出int64的時候不要用%I64d(WA

UvaOj 401 – Palindromes

刷點水題先恢複下手感....題目代碼:#include<cstdio>#include<cstring>#define MAXM 1000char fc[MAXM];void init(){ memset(fc, 0, sizeof(fc)); fc['A'] = 'A'; fc['E'] = '3'; fc['H'] = 'H'; fc['I'] = 'I'; fc['J'] = 'L'; fc['L'] = 'J';

UvaOJ 550 – Multiplying by Rotation

題目題意略。分析:這題我把式子各種展開,然後推了一個東西出來,枚舉位元,然後求得一個x,若x能表示為當前總位元減一的base下的數,則當前位元為最小。這樣寫了後TLE了,判斷那裡可能耗時了。看了別人的題解後,發現我考慮複雜了。其實這就是一個base位進位下的多位元乘以一位元的乘法運算。寫成豎式如下,a0a1a2...an-1c×   f----------------------ca0a1a2...an-1(a0a1a2...an-1c 表示

UvaOJ 10010 – Where’s Waldorf?

題目簡單的八方向搜尋,暴力即可代碼:#include<cstdio>#include<cstring>#include<ctype.h>#include<iostream>using namespace std;#define bug(s) cout<<#s<<"="<<s#define stop {getchar();getchar();}#define MAXN 52#define MAXK 22char

UvaOJ 568 – Just the Facts

題目題意:輸入一個n(0<=n<=10000),求 n! 的最低非零位的數字。如 5! = 120,得2。分析:這種題好像以前見過好多次,(對,確實做過 = =,而且當年沒做出來 = =!)。現在我是用記錄每個質數有多少個來算的,把2跟5的去掉(2*5 =

UvaOJ 10361 – Automatic Poetry

題目簡單字串處理代碼:#include<iostream>#include<string>using namespace std;#define MAXN 102string a1, a2;void solve(){ int p1 = a1.find('<', 0); int p2 = a1.find('>', 0); int p3 = a1.find('<', p2+1); int p4 = a1.find('>', p2

LightOJ 1042 – Secret Origins

http://www.lightoj.com/volume_showproblem.php?problem=1042代碼:#include<cstdio>#include<cstring>#include<iostream>#include<cmath>#include<string>#include<vector>#include<map>using namespace std;int Rint() {

UvaOJ 127 – “Accordian” Patience

題目題意規則挺多的,但是讀懂了還是清晰的,這裡就不寫了。類比題。我開了個雙向鏈表,用struct 的 oop寫的,沒access control 看著挺亂但是寫著還是挺爽的。130行...1Y。代碼:#include<iostream>#include<cstring>#include<cstdio>using namespace std;#define MAXN 53 //52cardsstruct Card{Card() {} Card(char

zoj 3323 Somali Pirates

昨天寫的吧 。 某人鄙視過我不會用ctype.h中的函數。。。我這道題用啦 ~~哈哈~~~水題,不過細節要處理好呢~#include <stdio.h>#include <stdlib.h>#include <ctype.h>int main(void){ int ncases; char ch; scanf("%d",&ncases); getchar(); while(ncases--) { ch = getchar();

The 36th ACM/ICPC Asia Regional Fuzhou Site / 1001 A Card Game 簡證

題目連結這題題意描述得相當煩有木有!?其實就是M種牌放到M堆裡,M種牌和M堆都是從1~M編號的。輸入 M, 然後輸入M個數,表示M種牌分別有多少張,同時也表示M堆分別的最大容量是多少。遊戲是這樣玩的,從第一堆開始由頂向下取(簡單起見),取到的牌屬於第k種,就接著到第k堆取。當任何一次取不到牌時,遊戲結束。求遊戲結束時牌恰好被取完的機率。分析:假設取的牌順序是一個序列,那麼這種序列在末尾為1時是和取牌序列一一對應的,且是符合“遊戲結束時牌恰好被取完”的一種情況。簡證:1、在序列中,任一數 i

XDUOJ Problem 1082 – Let’s SPFA II

Problem 1082 - Let's SPFA II Time Limit: 1000MS Memory Limit: 65536KB Difficulty: Total Submit: 185 Accepted: 17 Special Judge: No Description 郵遞員去送信,他初始在街道口S,要給A,B兩個街道口送信,你的任務很簡單,計算從S出發按任何順序訪問A,B,

UvaOJ 537 – Artificial Intelligence?

題目字串處理有個地方不知道為什麼那樣會wa,詳見注釋。另外我採用的是一行讀入,然後進行字串parse,比較麻煩。可以採用istringstream或sscanf等,從字串再進行格式化讀入,比較好。參考:http://www.cnblogs.com/shixuehunk/archive/2011/07/22/2113728.html  、 http://www.cppblog.com/rakerichard/archive/2011/04/07/143608.html代碼:#include<

HDU – 4320 Arcane Numbers 1

開始的時候沒看懂 a finite decimal,我以為是有限小數的數, 其實也是...吧....好吧好像這沒什麼關係(因為整數部分各數值可以隨意轉換麼.....雖然我當時抽了以為不可以.....)但是我沒意識到這是小數的數值轉換,

UvaOJ 10014 – Simple calculations

在HUST上開了個比賽,加了幾道劉汝佳書裡的簡單數學題。Uva今天我這上不去,誒,還是老樣子沒變麼,時不時抽風。HUST那裡交了題也返回Judging Error 1 。也罷,先把這題解寫了。題目這題給了個公式 ai = (ai–1 + ai+1)/2 – ci  (1<=i<=n). a是a0, a1,…, an+1 (n <= 3000; -1000 <=  ai 1000) 有n+2個元素的序列。給你a0, an+1, c1, ... , cn 要你求出 a1推導:

UVA 10066 – The Twin Towers

題目大意:講了一大堆,就是要求 最長公用子序列。題目類型:dp / LCS題目分析:是我沒睡醒嗎?為什麼明明寫的是//Print a blank line after the output of each data set. 而不是每組資料間一個blankline。竟然調了許久。 代碼:① 記憶化搜尋版本。//那麼大段題目,其實講的就是最長公用子序列。fuck。#include<cstdio>#include<cstring>using namespace

HDU – 4324 Triangle LOVE

思路就是簡單的dfs+標號, 若發現一趟dfs中又標號差2的, 則存在三角關係.但寫了N久還是wa....有一個地方我覺得是有問題的, 就是在判斷標號差2的時候, 有可能v的標號是前一趟dfs的而不是當前趟dfs的,所以v的標號就不能說明什麼問題了...這樣可能導致wa簡言之就是要在判斷的時候保證選的v都是當前趟dfs標號的.看了 http://blog.ac521.org/?p=502&cpage=1#comment-181 的題解,比對了後發現我是 標號差2寫成了判斷絕對值,

UvaOJ 10110 – Light, more light

題目看了n遍終於看懂了,大意是,走廊上有1~n盞燈,人在走廊上走n個來回,每次走人都會按燈的開關。按開關的策略是這樣的,第 i 次走,人只按燈編號能被 i 整除的燈的開關。問你最後走完了,第n盞燈的狀態是開還是關。燈的初始狀態都是關的。簡單數論。僅當n為完全平方數時,n的狀態是開。注意題目中說 n是  less then or equals 2^32-1 ,int 放不下(-2^31 (-2147483648) 到2^31-1 (2147483647)),要用long long 或

[線段樹+離散化+單點查詢] HDOJ – 4325 Flowers

一年沒寫線段樹, 全憑回憶加YY能1A好哈皮..............很裸的線段樹, 就是需要先離散化.離散化我記得有lower_bound這種東西, 但是想不起來怎麼用了...所以這裡是YY了用了個map然後O(n)迴圈進行離散值對應...預備:1/ STL - unique, 接受兩個指標(第三個參數為可選自訂相等比較子, 相等返回true), 實現呢就是從頭到尾掃一遍, 利用相等元素相鄰(若不滿足則要先sort). 將區間重複的元素都放到末尾,

[編輯長度/字串dp] HDOJ – 4323 Magic Number

http://acm.hdu.edu.cn/showproblem.php?pid=4323關於編輯距離這篇部落格講得比較清楚, 還把第四種編輯"鄰位交換"加進去了.現在突然覺得原來字串dp有好多,為什麼?因為字串是典型的無後效性吧,這種兩串來二維dp的比如最長公用字串也是經典dp了.狀態原因:// 狀態: d[i][j] 表示 串a的 i 長子串(0~i-1), 變到 串b的 j 長子串 要最少花費多少操作(即a到b的編輯距離).狀態轉移:(la lb表示串長度.)memset(d, 0,

HDOJ 1166 敵兵布陣

全裸的單點更新....代碼:#include<cstdio>#include<cstring>#include<iostream>using namespace std;#define MAXN 50002struct node{int mid, l, r;int v;}a[MAXN*4];// 4倍?int n;void pushUp(int e) { a[e].v = a[e<<1].v+a[e<<1|1].v; }void

總頁數: 61357 1 .... 19669 19670 19671 19672 19673 .... 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.