日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Codeforces 494Div3(ABCDJava编写)

發布時間:2025/3/20 java 11 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Codeforces 494Div3(ABCDJava编写) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Codeforces 494 div3 (ABCD)

從暑假開始做cf,感覺cf的題目很好,div3難度正好也挺適合我這種垃圾的。 題目鏈接
A:要找分割的最小次數,其實就是求同一個元素出現的最大次數。用hashmap即可。

package codeforces494;import java.util.HashMap; import java.util.Map; import java.util.Scanner;public class codeA {public static void main(String[] args) {Scanner sc=new Scanner(System.in);int n=sc.nextInt();Map <Integer,Integer>map=new HashMap();int max=1;for(int i=0;i<n;i++){int j=sc.nextInt();if(map.containsKey(j)) {map.put(j, map.get(j)+1);if(map.get(j)>max) {max=map.get(j);}}else{map.put(j, 1);}}System.out.println(max);} }

B:要求寫出一種滿足要求數量的01不同的策略。貪心,分奇偶討論。一個為整,一個插入就行。

package codeforces494;import java.util.Scanner;public class codeB {public static void main(String[] args) {Scanner sc=new Scanner(System.in);int a=sc.nextInt();//a個0int b=sc.nextInt();int x=sc.nextInt();//x個StringBuffer bu=new StringBuffer("");for(int i=0;i<a;i++){bu.append("0");}String s=bu.toString();StringBuffer bu2=new StringBuffer("");for(int i=0;i<b;i++){bu2.append("1");}String s2=bu2.toString();if(s.length()<s2.length()){String team=s;s=s2;s2=team;a=b;}if(x%2==0)//偶數{int team=x;if(x>2){while(team>2){s=s.substring(0,a-1-(x-team)/2)+s2.substring(0,1)+s.substring(a-1-(x-team)/2);s2=s2.substring(1);team=team-2;} s=s.substring(0,a-1-(x-team)/2)+s2+s.substring(a-1-(x-team)/2);}else{s=s.substring(0,1)+s2+s.substring(1);}}else{int team=x;while(team>1){s=s.substring(0,a-1-(x-team)/2)+s2.substring(0,1)+s.substring(a-1-(x-team)/2);s2=s2.substring(1);team=team-2;}s+=s2;}System.out.println(s);} }

C:求子數列的最大平均值,用dp。

package codeforces494;import java.util.Scanner;public class codeC {public static void main(String[] args) {Scanner sc=new Scanner(System.in);double max=0.0;int n=sc.nextInt();//總個數int k=sc.nextInt();int a[]=new int[(int) n];for(int i=0;i<n;i++){a[i]=sc.nextInt();}int dp[][]=new int [n+1][n];//長度為k,第n個數截至的總和///計算長度為1到長度為k的for(int i=0;i<n;i++){dp[1][i]=a[i];}for(int i=2;i<n+1;i++){for(int j=i-1;j<n;j++){dp[i][j]=dp[i-1][j-1]+a[j];if(i>=k){if((double)dp[i][j]/i>max){max=(double)dp[i][j]/i;}}}}if(k==1){for(int i=0;i<n;i++){if(a[i]>max){max=a[i];}}} // for(int i=0;i<n;i++) // { // System.out.print(dp[4][i]+" "); // }System.out.println(max);} }

D:

package codeforces494;import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.io.PrintWriter; import java.io.StreamTokenizer; import java.util.HashMap; import java.util.Map;public class codeD {public static void main(String[] args) throws IOException {StreamTokenizer in=new StreamTokenizer(new BufferedReader(new InputStreamReader(System.in)));PrintWriter out = new PrintWriter(new OutputStreamWriter(System.out));Map<Long,Integer> map=new HashMap();in.nextToken();int n=(int)in.nval;in.nextToken();int q=(int)in.nval;long value[]=new long[33];//價值輸入int number[]=new int[33];value[0]=1;map.put((long) 1, 0);for(int i=1;i<33;i++){value[i]=2*value[i-1];map.put( value[i], i);//System.out.println(value[i]);} for(int i=0;i<n;i++){in.nextToken();long input=(long)in.nval;int getint=map.get(input);number[getint]++;}int t=31;int count=0;while(q-->0){in.nextToken();int sea=(int)in.nval; count=0;for(int i=t;i>=0;i--){int num=number[i];if(sea<value[i]||num==0) {continue;}else if(sea>=value[i]&&num>0) {int numb1=(int) (sea/value[i]); numb1=numb1>num?num:numb1;sea-=value[i]*numb1;count+=numb1; }else if(sea==0) {break;}}if(sea==0){System.out.println(count);}else{System.out.println(-1);} }} }

總結

以上是生活随笔為你收集整理的Codeforces 494Div3(ABCDJava编写)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。