ACdream训练赛系列のJava专场
/*
* this code is made by mhy12345
* Problem: 1669
* Verdict: Accepted
* Submission Date: 2015-04-21 13:39:02
* Time: 140MS
* Memory: 23196KB
*/
import java.util.*;
import java.math.*; public class Main
{
static public void main(String args[])
{
Scanner in=new Scanner(System.in);
while (in.hasNext())
{
BigInteger n=in.nextBigInteger();
BigInteger l,r,mid;
l=new BigInteger("0");
r=n.add(BigInteger.valueOf(1));
while (r.subtract(l).compareTo(BigInteger.valueOf(1))>0)
{
// System.out.println(l);
// System.out.println(r);
mid=(r.add(l)).divide(BigInteger.valueOf(2));
if (mid.multiply(mid).compareTo(n)>0)
{
r=mid;
}else
{
l=mid;
}
}
System.out.println(l.remainder(BigInteger.valueOf(2)));
}
}
}
B
/*
* this code is made by mhy12345
* Problem: 1670
* Verdict: Accepted
* Submission Date: 2015-04-21 15:01:14
* Time: 172MS
* Memory: 27336KB
*/
import java.util.*;
import java.math.*;
import java.io.File;
import java.io.IOException; public class Main
{
static public void main(String args[])throws IOException
{
Scanner in = new Scanner(System.in);
//Scanner in = new Scanner(new File("input.txt"));
while (in.hasNext())
{
BigInteger n=in.nextBigInteger();
BigInteger x=new BigInteger("1");
for (int i=2;i<=10000000;i++)
{
boolean flag=true;
for (int j=2;j<i;j++)
{
if (i%j==0)
{
flag=false;
break;
}
}
if (!flag)continue;
if (x.multiply(BigInteger.valueOf(i)).compareTo(n)>0)
break;
x=x.multiply(BigInteger.valueOf(i));
}
System.out.println(x.toString());
}
C
/*
* this code is made by mhy12345
* Problem: 1668
* Verdict: Accepted
* Submission Date: 2015-04-21 17:43:49
* Time: 992MS
* Memory: 152756KB
*/
import java.io.*;
import java.math.*;
import java.util.*; public class Main
{
static public void main(String args[])throws IOException
{
Scanner in = new Scanner(System.in);
int n;
while (in.hasNext())
{
n=in.nextInt();
int a1,b1,a2,b2,a3,b3;
a1=in.nextInt();
b1=in.nextInt();
a2=in.nextInt();
b2=in.nextInt();
a3=in.nextInt();
b3=in.nextInt();
BigDecimal v1=BigDecimal.valueOf(a1).divide(BigDecimal.valueOf(b1),100,BigDecimal.ROUND_HALF_EVEN);
BigDecimal v2=BigDecimal.valueOf(a2).divide(BigDecimal.valueOf(b2),100,BigDecimal.ROUND_HALF_EVEN);
BigDecimal v3=BigDecimal.valueOf(a3).divide(BigDecimal.valueOf(b3),100,BigDecimal.ROUND_HALF_EVEN);
BigDecimal dp[][]=new BigDecimal[110][];
for (int i=0;i<110;i++)
dp[i]=new BigDecimal[110];
for (int i=0;i<110;i++)
for (int j=0;j<110;j++)
dp[i][j]=new BigDecimal("0");
BigDecimal poss[][]=new BigDecimal[110][];
for (int i=0;i<110;i++)
poss[i]=new BigDecimal[110];
for (int i=0;i<110;i++)
for (int j=0;j<110;j++)
poss[i][j]=new BigDecimal("0");
dp[n][n]=BigDecimal.ZERO;
poss[n][n]=BigDecimal.ONE;
BigDecimal va=v1.add(v3.divide(BigDecimal.valueOf(2),100,BigDecimal.ROUND_HALF_EVEN));
BigDecimal vb=v2.add(v3.divide(BigDecimal.valueOf(2),100,BigDecimal.ROUND_HALF_EVEN));
for (int i=n;i>=1;i--)
{
for (int j=n;j>=i;j--)
{
if (j!=i && i!=1)
{
poss[i-1][j]=poss[i-1][j].add(poss[i][j].multiply(v2));
dp[i-1][j]=dp[i-1][j].add(dp[i][j].add(poss[i][j]).multiply(v2));
poss[i][j-1]=poss[i][j-1].add(poss[i][j].multiply(v3));
dp[i][j-1]=dp[i][j-1].add(dp[i][j].add(poss[i][j]).multiply(v3));
poss[i-1][j-1]=poss[i-1][j-1].add(poss[i][j].multiply(v1));
dp[i-1][j-1]=dp[i-1][j-1].add(dp[i][j].add(poss[i][j]).multiply(v1));
//System.out.println(poss[i][j-1] +" "+ poss[i][j]);
}else if (i==1 && j!=i)
{
poss[i][j-1]=poss[i][j-1].add(poss[i][j]);
dp[i][j-1]=dp[i][j-1].add(dp[i][j].add(poss[i][j]));
}else if (j==i && i!=1)
{
poss[i-1][j-1]=poss[i-1][j-1].add(poss[i][j].multiply(va));
dp[i-1][j-1]=dp[i-1][j-1].add((dp[i][j].add(poss[i][j])).multiply(va));
poss[i-1][j]=poss[i-1][j].add(poss[i][j].multiply(vb));
dp[i-1][j]=dp[i-1][j].add((dp[i][j].add(poss[i][j])).multiply(vb));
}
}
}
/*
for (int i=1;i<=n;i++)
{
for (int j=1;j<=n;j++)
{
System.out.print(dp[i][j]+" ");
}
System.out.println();
}
*/
// System.out.println(dp[1][1]);
System.out.println(dp[1][1].setScale(50, BigDecimal.ROUND_HALF_EVEN).toString());
/*
double vv1,vv2,vv3;
vv1=(double)a1/b1;
vv2=(double)a2/b2;
vv3=(double)a3/b3;
double dp[][]=new double[110][];
for (int i=0;i<110;i++)
dp[i]=new double[110];
double poss[][]=new double[110][];
for (int i=0;i<110;i++)
poss[i]=new double[110];
dp[n][n]=0;
poss[n][n]=1;
for (int i=n;i>=1;i--)
{
for (int j=n;j>=i;j--)
{
if (j!=i && i!=1)
{
//System.out.println("hehe"+i+" "+j);
poss[i-1][j]+=poss[i][j]*vv2;
dp[i-1][j]+=(dp[i][j]+poss[i][j])*vv2;
poss[i][j-1]+=poss[i][j]*vv3;
dp[i][j-1]+=(dp[i][j]+poss[i][j])*vv3;
poss[i-1][j-1]+=poss[i][j]*vv1;
dp[i-1][j-1]+=(dp[i][j]+poss[i][j])*vv1;
//System.out.println(poss[i][j-1] +" "+ poss[i][j]);
}else if (i==1 && j!=i)
{
poss[i][j-1]+=poss[i][j];
dp[i][j-1]+=dp[i][j]+poss[i][j];
}else if (j==i && i!=1)
{
poss[i-1][j-1]+=poss[i][j]*(vv1+vv3/2);
dp[i-1][j-1]+=(dp[i][j]+poss[i][j])*(vv1+vv3/2);
poss[i-1][j]+=poss[i][j]*(vv2+vv3/2);
dp[i-1][j]+=(dp[i][j]+poss[i][j])*(vv2+vv3/2);
}
}
}
for (int i=1;i<=n;i++)
{
for (int j=1;j<=n;j++)
{
System.out.print(poss[i][j]+" ");
}
System.out.println();
}
System.out.println(dp[1][1]);
//System.out.println(poss[1][1]);
*/
}
}
};
剩下两道题简直有意思。。。。。不写了。
ACdream训练赛系列のJava专场的更多相关文章
- ACdream区域赛指导赛之专题赛系列(1)の数学专场
Contest : ACdream区域赛指导赛之专题赛系列(1)の数学专场 A:EOF女神的相反数 题意:n(<=10^18)的数转化成2进制.翻转后(去掉前导零)输出十进制 思路:water ...
- 10.0.0.55_12-16训练赛部分writeup
0x1 - MISC MISC100 一张帅行的照片 目测是图片隐写,但是binwalk并没有出来,应该是对文件头进行了修改 010editor查看一下,发现在jpg文件尾之后还有大量的数据 而且在灰 ...
- Contest1592 - 2018-2019赛季多校联合新生训练赛第二场(部分题解)
Contest1592 - 2018-2019赛季多校联合新生训练赛第二场 D 10248 修建高楼(模拟优化) H 10252 组装玩具(贪心+二分) D 传送门 题干 题目描述 C 市有一条东西走 ...
- Contest1585 - 2018-2019赛季多校联合新生训练赛第一场(部分题解)
Contest1585 - 2018-2019赛季多校联合新生训练赛第一场 C 10187 查找特定的合数 D 10188 传话游戏 H 10192 扫雷游戏 C 传送门 题干: 题目描述 自然数中除 ...
- 7.30 正睿暑期集训营 A班训练赛
目录 2018.7.30 正睿暑期集训营 A班训练赛 T1 A.蔡老板分果子(Hash) T2 B.蔡老板送外卖(并查集 最小生成树) T3 C.蔡老板学数学(DP NTT) 考试代码 T2 T3 2 ...
- nyoj-1103-区域赛系列一多边形划分
http://acm.nyist.net/JudgeOnline/problem.php?pid=1103 区域赛系列一多边形划分 时间限制:1000 ms | 内存限制:65535 KB 难度: ...
- HDU6578 2019HDU多校训练赛第一场 1001 (dp)
HDU6578 2019HDU多校训练赛第一场 1001 (dp) 传送门:http://acm.hdu.edu.cn/showproblem.php?pid=6578 题意: 你有n个空需要去填,有 ...
- HDU6579 2019HDU多校训练赛第一场1002 (线性基)
HDU6579 2019HDU多校训练赛第一场1002 (线性基) 传送门:http://acm.hdu.edu.cn/showproblem.php?pid=6579 题意: 两种操作 1.在序列末 ...
- ACdream区域赛指导赛之手速赛系列(2)
版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/DaiHaoC83E15/article/details/26187183 回到作案现场 ...
随机推荐
- -----------------------------MVC模式理解-----------------------------
1.用户发送请求到控制层: 2.控制层将接受到的请求转发到模型层: 3.模型层将请求结果转发到控制层: 4.控制层将模型层返回的结果进行视图渲染: 5.视图渲染后返回(jstl): 6.将视图展示给用 ...
- sql快速生成大量数据
先插入一条数据 insert into table(a,b,c,d) values(1,2,3,4) 然后重复执行以下sql语句 没执行一次 数据就会倍增 insert into table(a,b, ...
- 【亲测可用】MySQL 4.1迁移到MySQL 5.0版本的中文乱码问题解决
核心:先导出结构,再导出数据. 结构最好使用myphpadmin导出.使用mysqldump导出的可能会导致一些问题. ---------------以下为转载---------------- 在生成 ...
- python的交代一
把自己one note上面的摘抄和自己的节选,全部粘贴到博客了,时间宝贵,要得太多,技术栈要慢慢发展,python先放放了,也不知道什么时候正式捡起来. 先把目前养活自己的android.java.c ...
- C#微信公众号开发 -- (四)获取API调用所需的全局唯一票据access_token
access_token是公众号的全局唯一票据,公众号调用各接口时都需使用access_token.开发者需要进行妥善保存.access_token的存储至少要保留512个字符空间.access_to ...
- Android XML解析
解析XML有三种方式:Dom.SAX.Pull 其中pull解析器运行方式与SAX类似. 我们首先认识pull解析器:http://developer.android.com/intl/zh-cn/r ...
- ASP.NET问题处理---“数据请求超时错误“”
数据请求超时,一般有2中解决方式: 1.页面AJAX处理数据时延长时间: 2.后台数据库连接取数据时延长时间. 由于我的后台数据库连接取数据为循环读取数据,所以不存在超时问题,这里具体说说如何修改AJ ...
- Android屏幕适配全攻略(最权威的官方适配指导)
转载请注明出处:http://blog.csdn.net/zhaokaiqiang1992 Android的屏幕适配一直以来都在折磨着我们这些开发者,本篇文章以Google的官方文档为基础,全面而深入 ...
- Oracle 数据库(oracle Database)Select 多表关联查询方式
Oracle数据库中Select语句语法及介绍 SELECT [ ALL | DISTINCT ] <字段表达式1[,<字段表达式2[,…] FROM <表名1>,<表名 ...
- Nagios-配置版
1 概念(简介) Nagios是插件式的结构,它本身没有任何监控功能,所有的监控都是通过插件进行的,因此其是高度模块化和富于弹性的.Nagios监控的对象可分为两类:主机和服务.主机通常指的是物理主 ...