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+了欸嘿嘿嘿。
codeforce R 491 (div2)的更多相关文章
- Codeforce Round #216 Div2
e,还是写一下这次的codeforce吧...庆祝这个月的开始,看自己有能,b到什么样! cf的第二题,脑抽的交了错两次后过了pretest然后system的挂了..脑子里还有自己要挂的感觉,果然回头 ...
- Codeforce Round #211 Div2
真的是b到不行啊! 尼玛C题一个这么简单的题目没出 aabbccddee 正确的是aabccdee 我的是 aabcdee 硬是TM的不够用,想半天还以为自己的是对的... A:题... B:题. ...
- CodeForce Educational round Div2 C - Vasya and Robot
http://codeforces.com/contest/1073/problem/C 题意:给你长度为n的字符串,每个字符为L, R, U, D.给你终点位置(x, y).你每次出发的起点为( ...
- codeforces R 493 div2
我蓝了!蓝了!!!蒟蒻的蓝色.日常点开friend发现竟然没几个人打??然后去div1看了一下果然学长全都去打div1了呜呜呜. 看到了久违的黄大仙,以为他今晚要上grandmaster,结果打完发现 ...
- EC R 87 div2 D. Multiset 线段树 树状数组 二分
LINK:Multiset 主要点一下 二分和树状数组找第k大的做法. 线段树的做法是平凡的 开一个数组实现就能卡过. 考虑如树状数组何找第k大 二分+查询来判定是不优秀的. 考虑树状数组上倍增来做. ...
- CF R 639 div2 F Review 贪心 二分
LINK:Résumé Review 这道题让我眼前一亮没想到二分这么绝. 由于每个\(b_i\)都是局部的 全局只有一个限制\(\sum_{i=1}^nb_i=k\) 所以dp没有什么用 我们只需要 ...
- CF R 635 div2 1337D Xenia and Colorful Gems 贪心 二分 双指针
LINK:Xenia and Colorful Gems 考试的时候没想到一个很好的做法. 赛后也有一个想法. 可以考虑答案的样子 x,y,z 可以发现 一共有 x<=y<=z,z< ...
- E CF R 85 div2 1334E. Divisor Paths
LINK:Divisor Paths 考试的时候已经想到结论了 可是质因数分解想法错了 导致自闭. 一张图 一共有D个节点 每个节点x会向y连边 当且仅当y|x,x/y是一个质数. 设f(d)表示d的 ...
- CF R 632 div2 1333F Kate and imperfection
赛后看了半天题 才把题目看懂 英语水平极差. 意思:定义一个集合S的权值为max{gcd(a,b)};且\(a\neq b\) 这个集合可以从1~n中选出一些数字 求出当集合大小为k时的最小价值. 无 ...
随机推荐
- flask之flask-script组件
Flask Script扩展提供向Flask插入外部脚本的功能,包括运行一个开发用的服务器,一个定制的Python shell,设置数据库的脚本,cronjobs,及其他运行在web应用之外的命令行任 ...
- 使用 vscode + chrome debuger断点调试 Vue 程序
总体参考:https://cn.vuejs.org/v2/cookbook/debugging-in-vscode.html 注意点: 1.修改 source-map 2.设置 webRoot 的路径 ...
- Unity3d XmlException: Text node cannot appear in this state的方案
这个问题是utf-8编码的问题,如果是utf-8+bom那么就会出现这种问题,如果是单纯的utf-8就没有这种问题(当然如果你把他完全变成ansi,那也行) 我在读写xml的时候遇到这个问题.查了好久 ...
- Linux压力测试工具stress的参数详解
为了测试服务器的负载情况,可以使用stress这个压力测试工具,可以在环境上验证测试下. stress安装 sudo yum install -y epel-release sudo yum inst ...
- hibernate JPA 使用懒加载时代理对象
hibernate延迟加载代理对象实际对象读取方式 public static <T> T deproxy (T obj) { if (obj == null) return obj; i ...
- mysql5 数据库连接丢失问题,autoReconnect=true不起作用
The last packet successfully received from the server was 55,404,563 millise 方案1 定时器 方案2 修改连接池容量 mys ...
- 机械臂运动学逆解(Analytical solution)
计算机器人运动学逆解首先要考虑可解性(solvability),即考虑无解.多解等情况.在机器人工作空间外的目标点显然是无解的.对于多解的情况从下面的例子可以看出平面二杆机械臂(两个关节可以360°旋 ...
- ffmpeg 、Vlc参数
ffmpeg.exe -loglevel error -probesize 32 -vsync passthrough -framerate 20 -f gdigrab -i desktop -fil ...
- FILESTREAM feature can't be enabled if you use cluster shared volumes
Create a SQL Cluster instance. Create Cluster Shared Volume Please note. No Share storage is added i ...
- Mysql Binlog三种格式详细介绍
一.MySQL Binlog格式介绍 mysql binlog日志有三种格式,分别为Statement,MiXED,以及ROW! 查看binlog的格式的脚本: 二.binlog 的不同模式有什么区别 ...