codeforce R 491 (div2)
生活随笔
收集整理的這篇文章主要介紹了
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)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 基于OMAPL138的字符驱动_GPIO
- 下一篇: 《SaltStack技术入门与实践》——