- 博客(16)
- 资源 (2)
- 收藏
- 关注
原创 UVa 539 - The Settlers of Catan
題目:找到無向圖中,不重複的最長的路徑。分析:圖論,搜索。直接利用dfs回溯即可。說明:╮(╯▽╰)╭。#include #include int maps[30][30];int max_value = 0;int dfs(int s, int d, int n){ if (max_value < d) max_value = d; for (int i = 0;
2015-12-30 19:28:15 457
原创 UVa 11218 - KTV
題目:給你一些四元組,s为得分,a,b,c為三個元素,從這些四元組中取出3個使得元素分別不同; 問三組得分的和哦最大值,如果不存在輸出-1.分析:枚舉,搜索,回溯。數據量較小,直接dfs回溯即可。說明:最近好忙,都沒怎麼刷題╮(╯▽╰)╭。#include #include int a[81], b[81], c[81], s[81];int visit
2015-12-30 18:36:02 711
原创 UVa 11352 - Crazy King
題目:給定一個國際象棋的棋盤,上面有幾個對方的馬,已知己方的王當前位置和膜表位置,問最少幾步能走過去; 行走過程中,除了起點和終點外不能走入對方馬的攻擊位置,對方的馬不會移動。分析:圖論,搜索,最短路。直接利用bfs搜索即可。說明:注意那個輸出中的’'‘,WA好幾次才發現╮(╯▽╰)╭。#include #include char maps[101][1
2015-12-24 13:36:07 611
原创 UVa 11824 - A Minimum Land Price
題目:要買一系列的島,島的價格已知,需要支付的總數為 2*L[fristbuy]^1 + 2*L[secondbuy]^2 + ... ,問最少支付多少。分析:貪心,排序。直接按價值排序從大到小購買即可。說明:╮(╯▽╰)╭。#include #include #include #include #include #include using namespace std;
2015-12-18 17:59:53 1441
原创 UVa 11876 - N + NOD (N)
題目:題目給出公式,Ni = Ni-1 + NOD(Ni-1),NOD为因子个数,求一个区间[A,B]上有多少个N。分析:数论,dp,打表。打表计算,查询输出。 首先,打表计算出1000000内的所有素数; 然后,利用素数表,计算1000000内所有数字的因子个数(组合数学,每个因子个数+1相乘); 之后,计算N,然
2015-12-18 11:37:19 1053
原创 UVa 11448 - Who said crisis?
題目:大整數減法。分析:大整數,模擬。說明:題目說100位,結果一直RE,數組開到10000才過╮(╯▽╰)╭。#include #include char strA[10005], strB[10005];int numA[10005], numB[10005], numC[10005];int biger(int a[], int b[]){ for (int i
2015-12-17 17:06:08 978
原创 UVa 11565 - Simple Equations
題目:已知三個不同整數的和,積以及平方和,求滿足第一個數最小的組合。分析:數論,枚舉。直接枚舉兩層循環即可。說明:注意數據中可能有負數和0。#include #include int main(){ int n, A, B, C, x, y, z; while (~scanf("%d",&n)) while (n --) { scanf("%d%d%d",&A,&B,
2015-12-17 16:50:47 773
原创 UVa 11342 - Three-square
題目:給定一個數字,判斷能否拆成三個平方數的和。分析:數論,枚舉。直接枚舉其中的兩個數字,然後判斷剩下的數字是不是平方數即可。說明:判斷是不是平方數可以直接利用開方函數,結果賦值給整數和浮點,判斷相同否。#include #include #include int main(){ int n, k, p, i, j; double v; while (~scanf
2015-12-17 15:33:27 1128
原创 UVa 11100 - The Trip, 2007
題目:給你一些箱子,相對小的箱子和以放進大箱子,問最少剩下幾個箱子,並且每個箱子裝的盡量少。分析:貪心,數論。排序,出現次數最多的那個數字就是剩下的箱子個數d。 題目要求每個箱子裝的盡量少,就是要裝的平均的意思,這裡將排序后的箱子等距離d輸出即可; (距離d可以保證每個必不相同,因為任意兩個相同的數字間的差必小於d);說明:╮(╯▽╰)╭
2015-12-16 15:08:46 589
原创 UVa 10930 - A-Sequence
題目:判斷一個串是不是A串,A串滿足:1.遞增,2.每個元素不是前面數字子集的和。分析:dp、搜索。按照題意判斷即可,是否滿足條件2,這裡使用背包判斷。說明:╮(╯▽╰)╭。#include #include int number[33];int dp[900009];int main(){ int D, cases = 1; while (~scanf("%d",&
2015-12-11 18:44:14 633
原创 UVa 10994 - Simple Addition
题目:求区间[p,q]上,所有数字,最后非零为的和。分析:数论。我们把数字按位数划分分别计算即可。 如果,我们求出从0到k区间上所有的数字的最后非零位数和,即f(0,k); 那么,f(p,q)= f(0,q)- f(0,p-1); 现在,我们来计算f(0,k),将数字分类: ①位数不是0的数
2015-12-11 11:59:58 1485
原创 UVa 10887 - Concatenation of Languages
題目:有兩個單詞集合,問從中各取出一個單詞(一集合單詞在前),問能組成多少不同的單詞。分析:數據結構(DS),哈希表(hash)。直接枚舉,利用hash判重即可。說明:注意數據中有空行。#include #include #include #include #include #include using namespace std;string set1[1501],
2015-12-07 13:53:04 619
原创 UVa 10776 - Determine The Combination
題目:給你一些字母,輸出m個元素組成的不同組合。分析:組合數學,重集組合。利用dfs求解即可,每次判斷是否和前一次的前綴相同即可。說明:╮(╯▽╰)╭。#include #include #include #include using namespace std;char buf[31], save[31], last[31];void dfs(int n, int m
2015-12-07 10:04:54 551
原创 UVa 10717 - Mint
題目:給定n種硬幣,想要從其中取出四中當做桌子的腿,如果目標高度已知,求兩側最接近的高度。分析:數論。枚舉其中的四格硬幣,計算最小公倍數,然後求出目標高度最接近兩個公倍數即可。說明:注意使用long long,防止溢出╮(╯▽╰)╭。#include typedef long long ll;int gcd(int a, int b){ return a%b?gcd(b,
2015-12-05 15:05:01 515
原创 UVa 10895 - Matrix Transpose
題目:輸出稀疏矩陣的轉置,矩陣表示格式:每行非零元素個數,對應位置,以及對應值(下一行)。分析:簡單題。直接利用結構體,記錄每個節點的行、列和對應元素值,按列排序輸出即可。說明:注意0的時候有個空行。#include #include #include #include using namespace std;typedef struct _matrix{ int x
2015-12-04 19:47:53 780
原创 UVa 10650 - Determinate Prime
題目:輸出一個區間中連續的,差值相同,長度超過2的素數組。分析:數論。直接打表,比較相鄰的素數和即可,注意解超過區間的情況。說明:1、注意x和y的大小;2、如果得到的解在區間外也有元素,則不輸出。#include #include #include #include #include #include int prime[35001], visit[35001];in
2015-12-02 10:59:48 482
SOFA: A Multi-Model Framework for Interactive Physical Simulation
2018-06-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人