avatar
文章
325
標籤
86
分類
15

首頁
文章
標籤
分類
關於
Larry's notes
搜尋
首頁
文章
標籤
分類
關於
UVa - 357 解題紀錄
發表於2021-04-04|UVa
題目: UVa - 357 - Let Me Count The Ways 題目說明有面額 [1, 5, 10, 25, 50] 的錢幣,給一個 n,求 n 有幾種不同的組合方式。 Input: 每行為一組測資,一個整數表示 n。 Output: 輸出 n 有幾種不同的組合方式。 解題思路DP 的 Coin Change 問題,核心概念為枚舉每一個最後加入的面額。 參考解法1234567891011121314151617181920212223242526272829303132333435363738#include <bits/stdc++.h>using namespace std;static auto __ = []{ ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); return 0;}();long long money[] = { 1, 5, 10, 25, 50 };long long dp[30001];void CoinChan ...
1092 ALGO Homework 6 - UVa (Dynamic Programming - Floyd Warshall’s Algorithm)
發表於2021-04-02|1092IntroductionToAlgorithms-YzuCse
課程名稱:演算法概論 CS309 B授課教師:林基成發放時間:2021-04-01截止時間:2021-04-08 題目說明這次的作業是 UVa 中的 3 題題目,與 Dynamic Programming - Floyd Warshall’s Algorithm 有關。 UVa 821 - Page Hopping:UVa - 821 解題紀錄 UVa UVa - 10171 - Meeting Prof. Miguel…:UVa - 10171 解題紀錄 UVa 11463 - Commandos:UVa - 11463 解題紀錄
UVa - 11463 解題紀錄
發表於2021-04-02|UVa
題目: UVa - 11463 - Commandos 題目說明給一個無向圖,每條邊的 cost 皆為 1,給一個起點及終點,求從起點到某一點後再到終點所需要的最大 cost。 Input: 第一個整數 T,表示有 T 組測資,每組測資前兩個數字為 n、m,依序表示圖上有 n 個點 ( 0 ~ n - 1 ),及 m 條邊,後面 m 行,每行有兩個整數 u、v,表示 u、 v 兩點是連通的。 Output: 輸出從起點到某一點後再到終點所需要的最大 cost。 解題思路All Pair Shortest Path 題,讀測資並做 Floyd-Warshall Algorithm 求解即可。 參考解法12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667#include <bits/stdc++.h>using namespace std;// reference: https:// ...
UVa - 10171 解題紀錄
發表於2021-04-02|UVa
題目: UVa - 10171 - Meeting Prof. Miguel… 題目說明給兩個圖 M、Y,圖上的點相同,但相通的邊不同,每條邊都有各自的 cost,兩個人各自在圖上走,各自給一個起點,求兩者可相遇且兩人的 cost 總和最小的 cost 及相遇的點,若最小 cost 的點有多個需要全部輸出。 Input: 每組測資第一個數字 m,表示有 m 行資料,每行資料為四個字符及一個數字組成,依序為 a、b、u、v、w,a 表示該行測資是哪個圖上的,b 表示該邊為單向或雙向 ( B 為雙向 ),u、v、w 依序為邊上兩點及 cost。 Output: 輸出兩者可相遇且兩人的 cost 總和最小的 cost 及相遇的點,若最小 cost 的點有多個需要全部輸出。 解題思路All Pair Shortest Path 題,讀測資並做 Floyd-Warshall Algorithm 求解即可。需要注意的是測資給的邊可能有重複,此時取 cost 較小者。 參考解法12345678910111213141516171819202122232425262728293031323334353 ...
UVa - 821 解題紀錄
發表於2021-04-02|UVa
題目: UVa - 821 - Page Hopping 題目說明給一個有向圖,求所有可連通的任意兩點的最短路徑平均。 Input: 每組測資裡面有許多兩個數字的 pair,u、v,表示點 u 與點 v 連通,若皆為 0 表示該組測資結束,若測資的第一組 u、v 皆為 0 表程式結束。 Output: 輸出所有可連通的任意兩點的最短路徑平均。 解題思路All Pair Shortest Path 題,讀測資並做 Floyd-Warshall Algorithm 求解即可。需要注意的是點的編號並不是集中的,所以需要紀錄點的最大編號。 參考解法123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566#include <bits/stdc++.h>using namespace std;// reference: https://ppt.cc/f6R74xstatic auto __ = [] ...
1092 ALGO Homework 5 - UVa (Dynamic Programming - Max 2D/3D Range Sum)
發表於2021-03-28|1092IntroductionToAlgorithms-YzuCse
課程名稱:演算法概論 CS309 B授課教師:林基成發放時間:2021-03-27截止時間:2021-04-03 題目說明這次的作業是 UVa 中的 3 題題目,與 Dynamic Programming - Max 2D/3D Range Sum 有關。 UVa 10827 - Maximum sum on a torus:UVa - 10827 解題紀錄 UVa 11951 - Area:UVa - 11951 解題紀錄 UVa 10755 - Garbage Heap:UVa - 10755 解題紀錄
UVa - 10755 解題紀錄
發表於2021-03-28|UVa
題目: UVa - 10755 - Garbage Heap 題目說明給一個 A * B * C 的長方體,長方體內每個單位都有數字,求最大的子長方體的數字和。 Input: 第一個整數為 T,表示有 T 組測資,每組測資前三個整數依序為 A、B、C,後面 A * B * C 個數字為長方體內單位的數字。 Output: 輸出最大的子長方體的數字和。 解題思路Kadane’s Algorithm 題,依照二維壓成一維的概念將三維壓成二維,再將二維壓成一維之後使用 Kadane’s Algorithm 求解即可。 參考解法123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384#include <bits/stdc++.h>using namespace std;static auto __ = []{ ...
UVa - 11951 解題紀錄
發表於2021-03-27|UVa
題目: UVa - 11951 - Area 題目說明給一個 N * M 的矩陣,矩陣上有一些數字,求最大的子矩陣面積,且子矩陣和不可超過 K。若有相同面積的子矩陣,取子矩陣和最小的那個子矩陣和。 Input: 第一個整數為 T,表示有 T 組測資,每組測資前三個整數依序為 N、M、K,後面 N * M 個整數為矩陣中的數字。 Output: 求最大的子矩陣面積,且子矩陣和不可超過 K。 解題思路Kadane’s Algorithm 題,將二維壓成一維之後使用 Kadane’s Algorithm 求解即可。 由於有不可超過 K 的限制,且要求的是子矩陣的最大面積,因此修改一下,l 為左端點,遍歷到的 sum[i] 視為右端點,當總和超過 K 時不斷將左端點往左移,接著計算面積即可。 參考解法1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071#include <bit ...
UVa - 10827 解題紀錄
發表於2021-03-27|UVa
題目: UVa - 10827 - Maximum sum on a torus 題目說明給一個 N * N 的矩陣,矩陣上有一些數字,求最大的子矩陣和,子矩陣可跨過邊界。 Input: 第一個整數為 T,表示有 T 組測資,每組測資第一個整數為 N,後面 N * N 個數字為矩陣中的數字。 Output: 求最大的子矩陣和,子矩陣可跨過邊界。 解題思路Kadane’s Algorithm 題,將二維壓成一維之後使用 Kadane’s Algorithm 求解即可。 由於可跨過邊界,所以先將資料複製,將 N * N 複製為 2N * N,第 N 列與第 0 列相同,第 N + 1 列與第 1 列相同,…。如此可解決跨越上下的情況,而跨左右的子矩陣可視為整個矩陣減去最小子矩陣。 參考解法123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778#inclu ...
1092 ALGO Homework 4 - UVa (Dynamic Programming - 0-1 Knapsack)
發表於2021-03-22|1092IntroductionToAlgorithms-YzuCse
課程名稱:演算法概論 CS309 B授課教師:林基成發放時間:2021-03-15截止時間:2021-03-22 題目說明這次的作業是 UVa 中的 3 題題目,與 Dynamic Programming - 0-1 Knapsack 有關。 UVa 1213 - Sum of Different Primes:UVa - 1213 解題紀錄 UVa 10616 - Divisible Group Sums:UVa - 10616 解題紀錄 UVa 11566 - Let’s Yum Cha!:UVa - 11566 解題紀錄
1…678…33
avatar
Larry Lai
文章
325
標籤
86
分類
15
Follow Me
最新評論
正在載入中...
分類
  • 1091DataStructures-YzuCse13
  • 1091LinearAlgebra-YzuCse5
  • 1092IntroductionToAlgorithms-YzuCse12
  • Bitwise1
  • C++5
  • Data Mining1
  • Design Pattern2
  • Hexo1
標籤
0-1 Knapsack AI Anaconda Articulation Points BFS Back Tracking Bellman Ford Bitwise Butterfly C++ CPE - 2020/06/09 CPE - 2020/10/20 CPE - 2020/12/22 Coin Change Computational Geometry Convex Hull DFS Data Mining Deep Learning Design Pattern Dijkstra Dinic Divide and Conquer Dynamic Programming Edmonds-Karp FPS Floyd Cycle Detection Algorithm Floyd-Warshall Graham Scan Graph Hexo Index Sort Kadane Kaggle Kruskcal LDS LIS LeetCode LeetCode - Easy LeetCode - Hard
文章
  • 七月 20235
  • 六月 20231
  • 三月 20231
  • 二月 20231
  • 一月 20231
  • 十一月 20223
  • 十月 20222
  • 七月 20225
網站資訊
文章數目 :
325
已運行時間 :
本站總字數 :
118k
最後更新時間 :
User Map
©2020 - 2023 By Larry Lai
本地搜尋