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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

codeforce R 491 (div2)

發布時間:2024/4/15 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 codeforce R 491 (div2) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本來打完就想寫的,,奈何舍友要睡了,我開個臺燈感覺怪怪的,就沒寫。

A題竟然一開始wa了。。。后來發現對于c和a還有c和b的關系沒有判斷,,丟掉了很多罰時。

B題我的方法是? ? 計算 sum,然后 分別統計 2、3、4的個數,一個一個試,具體看代碼(前面快速io有點長見諒

package R491;import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.io.PrintWriter; import java.util.StringTokenizer;public class Main2 {static BufferedReader in=new BufferedReader(new InputStreamReader(System.in));static StringTokenizer tok;static boolean hasNext(){while(tok==null||!tok.hasMoreTokens())try{tok=new StringTokenizer(in.readLine());}catch(Exception e){return false;}return true;}static String next(){hasNext();return tok.nextToken();}static long nextLong(){return Long.parseLong(next());}static int nextInt(){return Integer.parseInt(next());}static PrintWriter out=new PrintWriter(new OutputStreamWriter(System.out));public static void main(String[] args) {int n = nextInt();int a[] = new int[n];int b[] = new int[8];int sum = 0;for(int i=0;i<n;i++){a[i] = nextInt();b[a[i]]++;sum+=a[i];}int num = 0;while (sum<4.5*n){if (b[2]>0){sum+=3;b[2]--;num++;}else if (b[3]>0){sum+=2;b[3]--;num++;}else if (b[4]>0){sum+=1;b[4]--;num++;}}out.print(num);out.flush();} }

  

C 一開始還以為可能有點意思,然后二分板子就出來了,沒啥可說的,中間竟然wa了一發,,很玄學,? ?,判斷時 如果 把? num1>=num2? 寫成 num1>=(double)n/2 就會wa。。。

package R491;import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.io.PrintWriter; import java.util.StringTokenizer;public class Main3 {static BufferedReader in=new BufferedReader(new InputStreamReader(System.in));static StringTokenizer tok;static boolean hasNext(){while(tok==null||!tok.hasMoreTokens())try{tok=new StringTokenizer(in.readLine());}catch(Exception e){return false;}return true;}static String next(){hasNext();return tok.nextToken();}static long nextLong(){return Long.parseLong(next());}static int nextInt(){return Integer.parseInt(next());}static PrintWriter out=new PrintWriter(new OutputStreamWriter(System.out));static long n;public static void main(String[] args) {n = nextLong();long l = 1;long r = n;while (l<=r){long mid=(l+r)/2;if (caneat(mid)){r=mid-1;}else {l=mid+1;}}out.print(l);out.flush();}public static boolean caneat(long k){long num=0;long num2 = 0;long temp = n;while (temp>0){if (temp<k){num+=temp;break;}num+=k;temp-=k;num2+=(temp/10);temp-=temp/10;}if (num>=num2){return true;}else {return false;}} }

  

D題就很和藹可親了,竟然只有兩行,直接暴力,我的方法是? umm懶得說看代碼吧

package R491;import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.io.PrintWriter; import java.util.StringTokenizer;public class Main4 {static BufferedReader in=new BufferedReader(new InputStreamReader(System.in));static StringTokenizer tok;static boolean hasNext(){while(tok==null||!tok.hasMoreTokens())try{tok=new StringTokenizer(in.readLine());}catch(Exception e){return false;}return true;}static String next(){hasNext();return tok.nextToken();}static long nextLong(){return Long.parseLong(next());}static int nextInt(){return Integer.parseInt(next());}static PrintWriter out=new PrintWriter(new OutputStreamWriter(System.out));public static void main(String[] args) {String s[] = new String[2];for(int i=0;i<2;i++){s[i] = next();}if (s[0].length()==1){out.print(0);out.flush();return;}char ch1[] = s[0].toCharArray();char ch2[] = s[1].toCharArray();int ans = 0;for(int i=0;i<ch1.length;i++){if (ch1[i]=='0'&&ch2[i]=='0'){if (i==0){if (ch1[i+1]=='0'){ans++;ch1[i+1]='X';ch1[i]=ch2[i]='X';}else if (ch2[i+1]=='0'){ans++;ch2[i+1]='X';ch1[i]=ch2[i]='X';}}else if (i<ch1.length-1){if (ch1[i-1]=='0'){ans++;ch1[i-1]='X';ch1[i]=ch2[i]='X';}else if (ch2[i-1]=='0'){ans++;ch2[i-1]='X';ch1[i]=ch2[i]='X';}else if (ch1[i+1]=='0'){ans++;ch1[i+1]='X';ch1[i]=ch2[i]='X';}else if (ch2[i+1]=='0'){ans++;ch2[i+1]='X';ch1[i]=ch2[i]='X';}}else if (i== ch1.length-1) {if (ch1[i - 1] == '0') {ans++;ch1[i - 1] = 'X';ch1[i] = ch2[i] = 'X';} else if (ch2[i - 1] == '0') {ans++;ch2[i - 1] = 'X';ch1[i] = ch2[i] = 'X';}}}}out.print(ans);out.flush();} }

  E 啊哈哈哈哈,尷尬而不失禮貌的微笑,因為我太弱了又很垃圾還是一個數學白癡所以我沒寫出來。。。

  F學長都沒寫。。。學長51分鐘過掉ABCDE好像就開始掛機了,發現F有點難就睡覺去了,然后D題掉了,囍

  近期:補一下排列組合,抓緊學個tarjan把前天的E題補掉。(對不起是我太弱了不會tarjan

  rating:1548

  忽然發現今晚還有一場,我可能要1600+了欸嘿嘿嘿。

轉載于:https://www.cnblogs.com/MXang/p/9219992.html

總結

以上是生活随笔為你收集整理的codeforce R 491 (div2)的全部內容,希望文章能夠幫你解決所遇到的問題。

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