最大子段和
import java.util.*; public class Main { public static void main(String args[]) { Scanner cin=new Scanner(System.in); int ks, n, a[]=new int[100000]; int max, sum, ts, te, s, e; ks=cin.nextInt(); for(int j=1; j<=ks; j++) { n=cin.nextInt(); for(int i=0; i<n; i++) a[i]=cin.nextInt(); e=s=te=ts=0; max=-9999999; //! sum=0; for(int i=0; i<n; i++) { if(sum>=0) { sum+=a[i]; te=i; } else { sum=a[i]; ts=te=i; } if(sum>max) { max=sum; s=ts; e=te; } } System.out.println("Case "+j+":"); System.out.println(max+" "+(s+1)+" "+(e+1)); if(j!=ks) System.out.println(""); } } }
題目解析 最長公共子序列 + 最長上升子序列 在最長公共子序列的基礎上進行一下變形,每一次添加長度的時候進行判斷是否大於前面的數,即可 HDU6078 是這個問題的進階版,屬於數論DP 代碼 #include <cst
題目鏈接:HDU 2544 #include <cstdio> #include <cstring> #include <queue> using namespace std; const int maxn = 11111; con
HDU6354 Everything Has Changed 多校第五場 幾何題 愛德華是鋁循環機械的工人。他的工作是操作機械臂來切割設計模型。以下是他的工作簡介。 假設操作平面爲二維座標系。首先,有一個帶中心座標的圓盤(0 ,
Bridging signals Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submiss
最少攔截系統 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 37
題面在這裏 題意: 問一個無向圖是否有歐拉路徑,並且有的話使得經過的點的權值異或和最大,輸出這個異或值。 做法: 首先判圖是否連通。 然後度爲奇數的點只能有0個或2個。 發現一個性質:(度+1)/2是奇數的點都是在路徑上的。
題目大意:給出一棵樹,每個點有一個點權,求對於每個i∈[0,m) 輸出有多少個連通誘導子圖的異或和爲i n≤1000 ,m<210 別問我爲什麼隔了這麼久突然跑回來更blog……我只是在填以前剩下的坑而已。。。 (我花了一整個
原題目鏈接 題意是給你一棵樹,然後有兩類操作,一種是將某個節點以及它所有的子孫修改成某個數,另一種是查詢該節點的值。所有節點的初始值爲-1; 思路 說實話不好聯想到線段樹上來,如果用暴力修改每棵子樹的話每次修改的複雜度都可以達到
小記:這題比較水 思路:按長或重從小到大排序,然後對排好序的序列根據重或長(注意是和前面的相反的)求最長子序列,求出一個答案就加一,然後將這個最長子序列的所有值都標記 然後對剩下的值,繼續求最長子序列。 簡單點的方法就是,一路往上,碰到
小記:這題比較水 思路:將J[i]/F[i]的值進行從大到小排序,然後依次貪心 代碼: #include <iostream> #include <stdio.h> #include <string.h> #include <math
小記:這題看懂題意就簡單了 題意:國際象棋的馬的走法,可以有八個方向走,和中國象棋馬一樣的走法。8*8地圖上,給你一個起點一個終點,問你最少到達步數 思路:bfs 代碼: #include <iostream> #include <
小記:這題看重的是剪枝,但是都後來發現,其實這應該是一個當初的想法錯誤,導致的TLE 思路:dfs,一條邊一條邊的dfs,當能dfs出3條邊時,就是yes。當然最開始應該判斷%4是否等於0對於總長度。 而dfs的順序就是從大到小,這點算
小記:這題蠻好,比較有意思 思路:字母序最小和最大的串,我們可以用最小表示法和最大表示法解決,比較簡單。參考 然後就是出現的次數,這個解決方案可以直接利用kmp的next數組直接暴力求取最大和最小的出現的次數。 但是這裏面卻還是有特性的
HDU--1205---喫糖果 Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others) Total Submis
暢通工程續 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 41691