kaipingwang

@kevinX

Joined on Sep 28, 2022

  • E. Equation https://codeforces.com/edu/course/2/lesson/6/2/practice/contest/283932/problem/E import java.io.*; import java.util.ArrayList; import java.util.List; import java.util.StringTokenizer; public class AtCoderEEquation {
     Like  Bookmark
  • A. Packing Rectangles https://codeforces.com/edu/course/2/lesson/6/2/practice/contest/283932/problem/A import java.io.*; import java.util.Arrays; import java.util.StringTokenizer; public class AtCoderAPackingRectangle {
     Like  Bookmark
  • D. Children Holiday https://codeforces.com/edu/course/2/lesson/6/2/practice/contest/283932/problem/D import java.io.*; import java.util.ArrayList; import java.util.List; import java.util.StringTokenizer; public class AtCoderDChildrenHoliday {
     Like  Bookmark
  • C. Very Easy Task https://codeforces.com/edu/course/2/lesson/6/2/practice/contest/283932/problem/C import java.io.*; import java.util.StringTokenizer; public class AtCoderCVeryEasyTask { static PrintWriter out = new PrintWriter(new BufferedOutputStream(System.out));
     Like  Bookmark
  • Apply Operations on Array to Maximize Sum of Squares class Solution { // 為什麼 s1[i] != s2[i] 才要換 ? 因為換的 cost 不會最小, 但要怎麼證明 ? // 沒法用 memo 因為 memo[idx][s1[idx] - '0'] 改變後面二個數字 public int minOperations(String s1, String s2, int x) { int n = s1.length(); int m = s2.length(); int memo [][] = new int [n][2]; for(int i = 0; i < n; i++){
     Like  Bookmark
  • CSES - Concert Tickets import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.InputStream; import java.io.PrintWriter; import java.util.Arrays; import java.util.TreeSet; public class CSESConcertTicketsDisjointSet {
     Like  Bookmark
  • Distinct Values Queries import java.io.*; import java.util.*; public class RangeDistinctValuesQueries { static PrintWriter out = new PrintWriter(new BufferedOutputStream(System.out)); static class SuperQuickReader {
     Like  Bookmark
  • Count Visited Nodes in a Directed Graph 1. 只要能夠被分在同ㄧ個 cycle 就是就是相同的 拜訪個數 2. 如果該點已經更新過拜訪的個數, 就加上去已拜訪的個數 class Solution { public int[] countVisitedNodes(List<Integer> edges) { int n = edges.size(); boolean visited [] = new boolean [n];
     Like  Bookmark
  • Distinct Values Queries import java.io.*; import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.StringTokenizer; public class DistinctQuery { static InputStream in = new BufferedInputStream(System.in);
     Like  Bookmark
  • Split Array Largest Sum 為什麼不可以這樣寫: class Solution { public int splitArray(int[] nums, int K) { int n = nums.length; int dp[][] = new int [n + 1][K]; for(int i = 0; i <= n; i ++){ Arrays.fill(dp[i], Integer.MAX_VALUE/2);
     Like  Bookmark
  • Minimum Operations to Make a Special Number class Solution { Set<String> set = Set.of("00", "25", "50", "75"); /* 如何判斷是否有一個 subsequence 是 "25" 11112[2]6666[5]4443 */
     Like  Bookmark
  • Maximize Value of Function in a Ball Passing Game 933 / 947 test cases passed. Status: Wrong Answer Submitted: 3 days, 12 hours ago Input: [1,0] 10000000000 Output: 1778774529
     Like  Bookmark
  • Sum of Subarray Minimums class Solution { public int sumSubarrayMins(int[] arr) { int n = arr.length; Stack<Integer> sk = new Stack<>(); long left [] = new long [n]; for(int i = 0; i < n; i ++){ while(!sk.isEmpty() && arr[i] < arr[sk.peek()]){ sk.pop();
     Like  Bookmark
  • Reconstruct Itinerary class Solution { public List<String> findItinerary(List<List<String>> tickets) { int n = tickets.size(); Map<String, PriorityQueue<String>> graph = new HashMap<>(); for(List<String> ticket : tickets){ String u = ticket.get(0);
     Like  Bookmark
  • Candy class Solution { public int candy(int[] ratings) { int n = ratings.length; int [] left2Right = new int [n]; Arrays.fill(left2Right, 1); int [] right2Left = new int [n]; Arrays.fill(right2Left, 1); for(int i = 1; i < n; i ++){
     Like  Bookmark
  • Length of the Longest Valid Substring 1. g[i], f[i] 的關係還是沒有很懂 2. 下面的 case 會 fails "cbaaaabc" ["aaa","cb"] f[i] : 在 s[i] 開頭,最短的 forbidden string 長度 g[i] : 以 i 開頭的最長合法 substring 長度
     Like  Bookmark
  • https://cses.fi/paste/d215266054eda1d466ea03/ import java.io.*; import java.util.Arrays; import java.util.StringTokenizer; public class CSESLongestPalidrome { static PrintWriter out = new PrintWriter(new BufferedOutputStream(System.out)); static class Reader {
     Like  Bookmark
  • class Solution { int [][] memo = new int [101][10001]; public int superEggDrop(int k, int n) { if (k == 1) return n; if(memo[k][n] != 0){ return memo[k][n]; }
     Like  Bookmark
  • import java.io.*; import java.util.Arrays; import java.util.StringTokenizer; public class LongestPalindrome { static PrintWriter out = new PrintWriter(new BufferedOutputStream(System.out)); static class Reader {
     Like  Bookmark
  • class Solution { // Edit Distance // dp(i, j) : 把 A[0~i] B[0~j] 變成相同的最小 cost // 轉移: // 1. i, j 保留 dp(i-1, j-1) if A[i] = B[j] // 2. 刪除 i : dp(i-1, j) + cost(A[i]) // 3. 刪除 j : dp(i, j-1) + cost(B[j]) // 找出最小 cost 也就等於找出保留最多相等 // 找出最小 cost 也就等於找出保留最多相等
     Like  Bookmark