自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 资源 (2)
  • 收藏
  • 关注

原创 UVa 10667 - Largest Blockg

題目:在一個正方形的場地里擺放了一些矩形,問裡面能取出最大的正方形面積。分析:dp,動態規劃。二維最大矩形,時間複雜度O(N^2)。            一維最大矩形:在一個平面上有很多連續擺放的h*1面積的矩形,從中畫出最大的矩形;            這個問題有O(N^2)的枚舉算法,也有O(N)的線性算法,需要依賴單調隊列;            計算出每個矩形左邊和右邊

2015-10-30 11:12:42 511

原创 UVa 11830 - Contract Revision

題目:有一個打印機,他可以打印數字,現在有一個數字打印不出來,問對應的數字輸出是什麼。分析:簡單題。直接掃描一遍字符串即可,注意不能輸出前導的0。            沒有遇到其他數字數不輸出0,除非輸出是0。說明:╮(╯▽╰)╭。#include #include char buf[101];int main(){ int d; while (~scanf("%

2015-10-30 09:43:47 584

原创 UVa 11831 - Sticker Collector Robot

題目:給你一個地圖,地圖上有柱子和貼片,再給你一串機器人在地圖上行走的指令;            機器人每次可以前進、左轉90度或者右轉90度,柱子和邊界不能走,問他能拾起幾個貼片。分析:模擬。直接模擬出立即可,處理好轉向就沒什麼問題了。說明:轉向可以打表處理。#include #include char maps[101][101];char move[50005];

2015-10-29 16:36:35 1258

原创 UVa 10849 - Move the bishop

題目:給你一個方形的國際象棋棋盤,上面有一個象,給定一個目標格子,問幾步可以走過去。分析:數學題。根據國際象棋可知,黑格線只能在黑格,白格象只能在白格。            如果兩個格子相差的行列相同,則一步可以走到;            如果兩個格子相差的行列奇偶性不同,則走不到;            如果兩個格子相差的行列奇偶性相同,值不同,則兩步走到;       

2015-10-28 10:01:56 1023

原创 UVa 11549 - Calculator Conundrum

題目:計算k^2^m中,前n位構成的最大數字。分析:數論,循環。找尋環節不斷的計算k^2^m和k^4^m相等時即為循環節。說明:也可以使用map檢測循環╮(╯▽╰)╭。#include long long first_n_digit(long long a, int n){ long long b = 1LL; for (int i = 0; i < n; ++ i) b

2015-10-27 13:35:06 584

原创 UVa 12527 - Different Digits

題目:統計M到N之間有幾個數字,數位之間是不同的。分析:簡單題。存儲前N個數字中成立數字的個數F(N),結果為F(N)- F(M-1)。說明:╮(╯▽╰)╭。#include int f[5005],digit[10];int notsamedigit(int n){ for (int i = 0; i < 10; ++ i) digit[i] = 0; while

2015-10-26 19:16:15 579

原创 UVa 12342 - Tax Calculator

題目:計算個人所得稅。分析:數學題。按照題意分段計算加和即可。說明:注意精度。#include #include int main(){ int T, M; while (~scanf("%d",&T)) for (int t = 1; t <= T; ++ t) { scanf("%d",&M); double SUM = 0; if (M > 118

2015-10-26 13:48:31 416

原创 UVa 10219 - Find the ways !

題目:計算C(n,k)的位數。分析:數論,斯特林公式。直接利用斯特林公式計算即可。說明:注意輸出精度,取值floor(a)+1。#include #include double digit(int n){ return (0.5*log(2.0*acos(-1.0)*n) + n*log(n+0.0) - n)/log(10.0);}int main(){

2015-10-26 13:22:17 988

原创 UVa 11933 - Splitting Numbers

題目:給你一個數字n,將2進制中的1按出現的第奇偶次分成兩個數字。分析:簡單題,位運算。直接統計偶數的1出現的位置加和生成b,n-b即為a。說明:╮(╯▽╰)╭。#include #include int main(){ int n, b, count; while (~scanf("%d",&n) && n) { b = count = 0; for (int i

2015-10-26 11:11:01 1327

原创 UVa 10198 - Counting

題目:給你一個數字n,求有多少種1,2,3,4構成的串位數之和為n,4按1計算。分析:dp,動態規劃,大整數。找到遞推公式:f(n)= f(n-1)*2 + f(n-2)+ f(n-3)。            首先,設計狀態f(n),為和為n的數字串的種類數;            然後,考慮退化情況,只用1和2組成的數字串,和為n的情況;            這時,我們分兩種

2015-10-26 10:57:28 1393

原创 UVa 11220 - Decoding the message

題目:將兩個人寫的信解密,在一個句子中,取第i個單詞的第i為作為字母,組成一個新的單詞,            如果第i個單詞長度小於i,則忽略這個單詞,下一個長度大於i的單詞作為第i個。分析:簡單題,字符串。直接統計輸出即可。說明:注意輸入輸出格式。#include #include #include char buf[1001];int main(){ int

2015-10-24 09:28:26 1654

原创 UVa 331 - Mapping the Swaps

題目:給你一個序列,用最少的交換相鄰元素次數,把它變成遞增的。分析:搜索,逆序數。因為數據較小,直接利用dfs求解,每次找到逆序數遞減到0的計數即可。說明:注意數據中可能有相同的數字。#include #include int data[10];int inverse_number(int n){ int sum = 0; for (int i = 0; i < n;

2015-10-23 21:24:53 447

原创 UVa 11900 - Boiled Eggs

題目:用微波爐煮雞蛋,給你每個雞蛋的重量,微波爐能放的雞蛋個數和總重有限制,            問最多能煮幾個雞蛋。分析:dp,01背包。赤果果給的01背包。            設計狀態:f(n)為總質量為n時,最大的雞蛋個數;            狀態轉移:f(i)=max(f(i-m[j])+1,f(i-1));說明:╮(╯▽╰)╭。#include #in

2015-10-23 10:47:54 738

原创 UVa 895 - Word Problem

題目:已知一個單詞表,然後給出一些字母構成的序列,問每個序列能構成單詞表中的幾個單詞。分析:簡單題,字符串。記錄每個單詞中個字母出現的個數,統計每個序列中的每個字母個數。             如果序列中各字母個數都不小於對應單詞的字母個數就可以構成,計數輸出即可。說明:使用gets讀數據輕鬆解決╮(╯▽╰)╭。#include #include char c,d,buf[

2015-10-22 09:50:27 477

原创 UVa 325 - Identifying Legal Pascal Real Constants

題目:給你一個串,判斷是否是Pascal語言中的合法浮點數。說明:字符串。按照題目要求處理即可。            1.去掉前綴的空格;            2.e的前面可以有小數點,後面不能有;            3.小數點和e前後必須都有數字;            4.兩端的數字可以有一個符號前綴;            5.小數點和e最多各有,至少有一種;

2015-10-21 18:52:50 2095

原创 UVa 10023 - Square root

題目:求給定數字的平方根。分析:數學,二分。可以利用模擬(手算開方)或者二分求解。說明:需要把數位壓縮,否則會TLE。#include #include char buf[1111];int tag[505], mul[505], tem[1111];int lef[505], rig[505], mid[505];void bs(int L){ for (int

2015-10-19 15:56:13 1330

原创 UVa 11384 - Help is needed for Dexter

题目:给你1~n,n个连续的整数,每次可以从里面取出人一个数字减去一个任意数,            问最少操作多少次可以全变成0。分析:分治,递推。如果从1~n,任意取k个数字减去p,得到的新数字或者是连续的或者不连续。            如果不连续,可以映射到连续的,操作次数不变(减数每次加上间隔的长度即可);            所以都可以看成是连续的处理,而连续的情况

2015-10-19 07:41:03 1069 9

原创 UVa 10908 - Largest Square

題目:給你一個二維的字符矩陣,求出給定中心的最大正方形邊長。分析:簡單題、枚舉。枚舉計算即可,為了提高效率可先用dp存儲每行連續字符數。說明:╮(╯▽╰)╭。#include #include #include char maps[101][101];int sums[101][101];int main(){ int T, N, M, Q, c, r; whil

2015-10-14 08:07:11 3437

原创 UVa 10020 - Minimal coverage

題目:有n條線段,從裡面取出最少的將區間0,M]覆盖上。分析:貪心,會議安排類似物。按左端點排序,每次取能夠覆蓋的右端點最大的值即可。說明:╮(╯▽╰)╭。#include #include #include #include using namespace std;typedef struct _segment{ int l, r, select;}segment

2015-10-13 17:46:42 789

原创 UVa 332 - Rational Numbers from Repeating Fractions

題目:已知一個分數的小數形式和循環節長度,求分數。分析:數論。利用題目給的公式直接求解即可。            處理過程中直接使用整數計算            然後對分子分母計算約分即可。說明:發現並沒有讀過多少書╮(╯▽╰)╭。#include int gcd(int a, int b){ return a%b?gcd(b, a%b):b;}int mai

2015-10-12 09:46:49 1675

原创 UVa 10215 - The Largest/Smallest Box ...

題目:一個L*W的矩形板子,四個角減去四格x*x的正方形,問使得體積最大和最小的x值。分析:幾何,微積分。列出體積公式求導數,確定x即可。            體積V(x)=(L-2x)(W-2x) x;            導數V‘(x)= LW - 4(L+W)x + 12x^2;            最小值為0和min(L,W)/ 2,最大值為導數為0的左面的解。 說明:注意精度控制。...

2015-10-11 14:41:14 2443 2

原创 UVa 10129 - Play on Words

題目:考古學家在迷宮裡發現了一些單詞,把他們首尾相接拼在一起,放到門的機關上,            如果連接的字母相同,們就會打開,現在給你單詞,問門是否能打開。分析:圖論,歐拉路徑,并查集。利用并查集求解歐拉路徑即可。            歐拉路徑存在條件:            1.存在邊的節點聯通;            2.所有節點的入度和出度相同,或者有一個點入度

2015-10-09 23:49:46 506

原创 UVa 10596 - Morning Walk

題目:Kamal早上散步,發現有很多條路,問能否每條路走一次回到原點。分析:圖論,歐拉迴路,并查集。判斷是否存在歐拉迴路。            歐拉迴路存在條件:1.有邊的點度數為偶數,2.右邊的點構成的圖聯通。說明:╮(╯▽╰)╭。#include #include #include #define NODE_SIZE 202#define EDGE_SIZE 100

2015-10-09 20:26:27 591

原创 UVa 1208 - Oreon

題目:給你一些圖,輸出圖的最小生成樹上的邊(包括頂點)。分析:圖論,最小生成樹,并查集。利用kruskal算法求解即可。說明:╮(╯▽╰)╭。#include #include #include #include using namespace std;typedef struct _enode{ int point1; int point2; int weigh

2015-10-09 12:58:10 1156

原创 UVa 10842 - Traffic Flow

題目:求最大生成樹的最小邊。分析:圖論,最小生成樹,并查集。利用kruskal算法求解即可。說明:╮(╯▽╰)╭。#include #include #include #include using namespace std;typedef struct _enode{ int point1; int point2; int weight;}enode;eno

2015-10-09 10:55:46 840

原创 UVa 893 - Y3K Problem

題目:給你當前的日期,問再過k天后的日期。分析:數論,曆法,閏年判斷。四年一閏,百年不閏,四百年閏。            計算當前日期距離0年1月1日有多少天+k天后從新計算日期即可。說明:╮(╯▽╰)╭。#include #include int month[13] = {0,31,28,31,30,31,30,31,31,30,31,30,31};int baseda

2015-10-08 21:41:47 678

原创 UVa 10178 - Count the Faces.

題目:給你一個平面圖的點和邊,問一共把平面分成幾部分。分析:拓撲,歐拉公式,并查集。V-E+F=1+H,H為獨立圖形個數。說明:注意輸入格式。#include //union_set_begeinint sets[256];int rank[256];void union_set(int s, int t) { for (int i = s; i <= t; ++ i

2015-10-08 16:52:15 552

原创 UVa 11056 - Formula 1

題目:給你比賽的結果,進行排序,實現相同按名字排序。分析:多級排序。直接利用sort即可。說明:注意名字不區分大小寫。#include #include #include #include #include using namespace std;typedef struct _record{ int min, sec, ms; char name[22];}

2015-10-08 09:46:43 590

原创 UVa 11068 - An Easy Task

題目:已知兩條直線,將一條直線關於另一條對稱,求它和鏡像直線的交點。分析:計算幾何。交點一定為兩直線交點,求解即可。說明:十一結束了╮(╯▽╰)╭。#include #include #include const double esp = 1e-6;double dist(double x1, double y1, double x2, double y2){ retu

2015-10-08 07:26:39 582

SOFA: A Multi-Model Framework for Interactive Physical Simulation

HAL is a multi-disciplinary open access archive for the deposit and dissemination of scientific research documents, whether they are published or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers.

2018-06-24

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除