博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
topcoder srm 320 div1
阅读量:5790 次
发布时间:2019-06-18

本文共 2358 字,大约阅读时间需要 7 分钟。

problem1

两个数字后面都有阶乘符号,可以抵消。

import java.util.*;import java.math.*;import static java.lang.Math.*;public class ExtraordinarilyLarge {		public String compare(String x, String y) {		boolean both=false;		while(x.endsWith("!")&&y.endsWith("!")) {			x=x.substring(0,x.length()-1);			y=y.substring(0,y.length()-1);			both=true;		}		boolean bswap=false;		if(x.endsWith("!")) {			String t=new String(x);			x=y;			y=t;			bswap=true;		}		long xx=Long.valueOf(x);		if(xx==0&&both) {			xx=1;		}		long yy=1;		if(y.endsWith("!")) {			int id=y.indexOf("!");			yy=Long.valueOf(y.substring(0,id));			final int num=y.length()-id;			for(int i=0;i
<=xx;++i) { yy=cal(yy,xx); } } else { yy=Long.valueOf(y); if(yy==0&&both) { yy=1; } } if(xx
y"; } return "x
y"; } } long cal(long x,long y) { if(x==0) { return 1; } long result=1; for(int i=2;i<=x;++i) { if(result<=y/i) { result=result*i; } else { return y+1; } } return result; }}

problem2

在一个有向无环图上进行dp即可。

import java.util.*;import java.math.*;import static java.lang.Math.*;public class ContestSchedule {		public double expectedWinnings(String[] contests) {		final int n=contests.length;		int[][] p=new int[n][3];		for(int i=0;i
queue=new LinkedList<>(); double[] f=new double[n]; boolean[] inq=new boolean[n]; for(int i=0;i
f[i]) { f[i]=f[u]+c; if(!inq[i]) { inq[i]=true; queue.offer(i); } } } } } double result=0; for(int i=0;i

problem3

$n,m$中小的那个必定小于9.这样一行一行进行dp即可。

import com.sun.org.apache.xpath.internal.operations.Bool;import java.util.*;import java.math.*;import static java.lang.Math.*;public class SeatingPlan {		public String expectedTrial(int m, int n, int k) {		if(n
>1]+(i&1); } List
g=new ArrayList<>(); for(int i=0;i<(1<
list=new ArrayList<>(); if(((i>>1)&i)!=0) { g.add(list); continue; } for(int j=0;j<(1<
>1)&j)==0) { list.add(j); } } g.add(list); } f[0][0][0]=1; for(int i=1;i<=n;++i) { for(int j=0;j<(1<
k) { continue; } f[i][s][t+num[s]]+=f[i-1][j][t]; } } } } long result=0; for(int i=0;i<(1<

  

转载于:https://www.cnblogs.com/jianglangcaijin/p/7471330.html

你可能感兴趣的文章
MVVM计算器(下)
查看>>
C++中指针和引用的区别
查看>>
簡單分稀 iptables 記錄 udp 微軟 138 端口
查看>>
Java重写equals方法和hashCode方法
查看>>
Spark API编程动手实战-07-join操作深入实战
查看>>
H3C-路由策略
查看>>
centos 修改字符界面分辨率
查看>>
LNMP之Mysql主从复制(四)
查看>>
阅读Spring源代码(1)
查看>>
nagios一键安装脚本,nagios监控被监控主机上的应用服务mysql数据库
查看>>
grep 命令
查看>>
JS二维数组的声明和使用
查看>>
v$archive_gap dg dataguard 断档处理 scn恢复
查看>>
问责IT风险管理:CIO需关注两个重点
查看>>
Winform打包发布图解
查看>>
PDF文件怎么编辑,超简单的方法
查看>>
EasyUI基础入门之Easyloader(载入器)
查看>>
Uva 839 Not so Mobile
查看>>
30款超酷的HTTP 404页面未找到错误设计
查看>>
程序猿必备 MyEclipse2013-2014系列
查看>>