题目链接
A:水题代码

package codeforces496;import java.util.Scanner;public class testA {public static void main(String[] args) {Scanner sc=new Scanner(System.in);int n=sc.nextInt();//总数量int a[]=new int[n];int number=-1;int value[]=new int[1000];for(int i=0;i<n;i++){a[i]=sc.nextInt();if(a[i]==1) {number++;}value[number]=a[i];}System.out.println(number+1);for(int i=0;i<number+1;i++){if(i!=number)System.out.print(value[i]+" ");elseSystem.out.print(value[i]);} }
}

B:水

package codeforces496;import java.util.Scanner;public class testB {public static void main(String[] args) {Scanner sc=new Scanner(System.in);String a1=sc.next();String a2=sc.next();int min=a1.length()<a2.length()?a1.length():a2.length();for(int i=0;i<min;i++){if(a1.charAt(a1.length()-1-i)!=a2.charAt(a2.length()-1-i)){a1=a1.substring(0,a1.length()-i);a2=a2.substring(0, a2.length()-i);System.out.println(a1.length()+a2.length());break;}if(i==min-1) {   System.out.println((a1.length()>a2.length()?a1.length():a2.length())-min);}}}
}

C:先打表储存数值。(足够大一点)。每次输入的数值先存起来(包过数量)。然后逐个比较。要充分考虑二的次幂的特性。找到比他大一点的那个2的次幂减去。查看是否在集合中。不要多想也不要少想。这个重要的是二的特性。

package codeforces496;import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Scanner;
import java.util.Set;
import java.util.TreeMap;public class testC {public static void main(String[] args) {       Scanner sc=new Scanner(System.in);Map<Integer,Integer>map=new TreeMap();Set<Integer>set=new HashSet();       long value[]=new long[32];value[0]=1;for(int i=1;i<32;i++){value[i]=2*value[i-1];}int n=sc.nextInt();      int a[]=new int[n];boolean jud[]=new boolean[n];for(int i=0;i<n;i++){a[i]=sc.nextInt();}for(int i=0;i<n;i++){if(map.containsKey(a[i])) {map.put(a[i], map.get(a[i])+1);}elsemap.put(a[i], 1);//judgel=a[i];}for(int i=n-1;i>=0;i--){  for(int j=31;j>0;j--){if(value[j-1]<=a[i]){int team=(int) (value[j]-a[i]);if(team==a[i]&&map.get(a[i])>=2) {set.add(team);break;}else if(team!=a[i]&&map.containsKey(team)) {set.add(team);set.add(a[i]);break;}}} }int count=0;for(int i:set){count+=map.get(i);}System.out.println(n-count);}
}

D:dp思想,判断当前的是否为0.0可以被整除,否则向上找(叠加数值)dp【j】小一市为临界点,如果可以被三整除,那么dp[i] 1;如果不。那么就dp和前一样dp[i]=dp[j]。

package codeforces496;import java.util.Scanner;public class testD {public static void main(String[] args) {Scanner sc=new Scanner(System.in);String s=sc.next();char num[]=s.toCharArray();int number[]=new int[num.length];for(int i=0;i<number.length;i++){number[i]=num[i]-'0';}int dp[]=new int[number.length];if(number[0]%3==0)dp[0]=1;else dp[0]=0;for(int i=1;i<number.length;i++){if(number[i]%3==0)dp[i]=dp[i-1]+1;else{dp[i]=dp[i-1];//预处理int team=number[i];for(int j=i-1;j>=0;j--){  if(dp[j]!=dp[i]) {break;}else if(j>0) {if(dp[j]==dp[i]) {team+=number[j];if(team%3==0) {dp[i]=dp[j-1]+1;break;}}}   else if(j==0){team+=number[j];if(team%3==0) {dp[i]=dp[j]+1;break;}}}}}System.out.println(dp[number.length-1]);}
}

E1:当初想的时候知道思路但是方法选的不对,复杂度太高。后来参考别人发现判断大于和小于的数量是很好的选择,大于就 1,小于就-1.先往左查找等于0的情况(0)时候中位数满足条件。在往右查找0时候,没找到一个0;number =左侧0数量。因为这个0可以和左侧0任意搭配。方法还是很巧妙的。

package codeforces496;import java.util.Map;
import java.util.Scanner;
import java.util.TreeMap;public class testE1 {public static void main(String[] args) {Scanner sc=new Scanner(System.in);int n=sc.nextInt();//总数量int m=sc.nextInt();int a[]=new int[n];int index=0;for(int i=0;i<n;i++){int jud=sc.nextInt();a[i]=jud>m?1:-1;if(jud==m) {index=i;a[i]=0;}}int dp[]=new int[n];int left[]=new int[n];Map<Integer,Integer>map=new TreeMap();dp[index]=0;map.put(0, 1);for(int i=index+1;i<n;i++){dp[i]+=dp[i-1]+a[i]; if(map.containsKey(dp[i])){map.put(dp[i], map.get(dp[i])+1);}elsemap.put(dp[i], 1);}long count =0;for(int i=index;i>=0;i--){if(i==index) {dp[index]=0;}else dp[i]+=dp[i+1]+a[i];  if(map.containsKey(-dp[i])){count+=map.get(-dp[i]);}if(map.containsKey(-dp[i]+1)){count+=map.get(-dp[i]+1);}}                System.out.println(count);}
}

codeforces 496 div3(A-E1)(JAVA)相关推荐

  1. codeforces 498 div3(a-e java)

    题目链接 A:水题 package codeforces498;import java.util.Scanner;public class testA {public static void main ...

  2. Codeforces Round #496 (Div. 3 ) E1. Median on Segments (Permutations Edition)(中位数计数)

    E1. Median on Segments (Permutations Edition) time limit per test 3 seconds memory limit per test 25 ...

  3. codeforces 496 E. Distributing Parts(贪心+set二分)

    题目链接:http://codeforces.com/contest/496/problem/E 题意:有n场演出,每场演出都有限制的高音和低音.然后m个人给出每个人的极限高音和低音还有出场次数. 最 ...

  4. codeforces 133A(HQ9+) Java

    codeforces 字符串水题 输入的字符串中是否含有 H.Q.+ 这三种字符. 方法一: import java.io.BufferedReader; import java.io.InputSt ...

  5. codeforces 521div3(D Cutting Out)java

    题目链接 测试用例: 很多情况会一直wa是因为题意没用读懂,进入自己的圈子无限wa,气的记录下来..下次不能这么天真. 题意:给数字n和k,n是数字串的长度,k是要将数字分成的份数.让这么多份的数字出 ...

  6. Codeforces 494Div3(ABCDJava编写)

    Codeforces 494 div3 (ABCD) 从暑假开始做cf,感觉cf的题目很好,div3难度正好也挺适合我这种垃圾的. 题目链接 A:要找分割的最小次数,其实就是求同一个元素出现的最大次数 ...

  7. codeforces round25

    1.A Binary Protocol 遍历字符串,如果是1,则累加,如果是0,输出当前的累加值 代码参考: OJ/A Binary Protocol.java at master · wuli249 ...

  8. 怎样分析 JAVA 的 Thread Dumps

    当有障碍,或者是一个基于 JAVA 的 WEB 应用运行的比预期慢的时候,我们需要使用 thread dumps.如果对于你来说, thread dumps 是非常复杂的,这篇文章或许能对你有所帮助. ...

  9. java提示结果集已耗尽,java 结果集已耗尽

    场景:java.sql.SQLException: 结果集已耗尽,解决办法 java.sql.SQLException: 结果集已耗尽,解决方法! 点击右边红色标题查看本文完整版:java.sql.S ...

最新文章

  1. ICE专题:ICE起步
  2. Aspose.Word 的常见使用(不用模板创建)
  3. Java单依赖性Dockerized HTTP端点
  4. she is so css什么意思,输入she is so什么意思 微信she is so什么梗
  5. 工作中,我们经常用到哪些SQL语句呢?
  6. python之路_前端基础之jQuery入门2
  7. [转载] R语言read.table函数
  8. 小程序对实体行业转型有何影响?
  9. asp.net ajax updatepanel中textbox 乱码问题 解决方案
  10. 8.2 使用Alpha混合技术
  11. 北风网盘点2016年中国程序员薪酬状况
  12. 计算机bios无法进入,启动系统后无法进入BIOS怎么办
  13. App运营推广过程中,比较实用的工具
  14. javaScript(ES5)中想方设法继承家产的方式详解
  15. GT9XX触摸屏双击唤醒功能分析
  16. SAP的一些术语表,中英对照
  17. JLINK V9修复方法
  18. MongoDB学习(一)
  19. UA OPTI544 量子光学12 半古典激光原理基础
  20. s2020gc54最美的花

热门文章

  1. 数学建模——智能优化之粒子群模型详解Python代码
  2. 47. 全排列 II(回溯算法)
  3. 密码(图解密码技术)_第二章_历史上的密码
  4. [工具]-PGP的使用方法
  5. Git 工作区、暂存区和版本库
  6. win7更新powershell到5.1
  7. Windows驱动开发学习笔记(七)—— 多核同步内核重载
  8. 5、数据库设计的三大范式
  9. Mysql之外连接_OUTER JOIN
  10. “高级”数据结构——树状数组