2017 ACM/ICPC Asia Regional Qingdao Online
Apple
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others)
Total Submission(s): 982 Accepted Submission(s): 323
In the first line of each case, there are eight integers x1,y1,x2,y2,x3,y3,x,y, as described above.
The absolute values of integers in input are less than or equal to 1,000,000,000,000.
It is guaranteed that, any three of the four positions do not lie on a straight line.
-2 0 0 -2 2 0 2 -2
-2 0 0 -2 2 0 0 2
-2 0 0 -2 2 0 1 1
Rejected
Rejected
圆的反演,java大数走一波
其实用外接圆半径及点那个不复杂的东西也可以玩
import java.io.*;
import java.util.*;
import java.math.*; public class Main
{
static public BigInteger xu[]=new BigInteger[4];
static public BigInteger xd[]=new BigInteger[4];
static public BigInteger yu[]=new BigInteger[4];
static public BigInteger yd[]=new BigInteger[4];
static public void main(String[] args)
{
Scanner cin=new Scanner(System.in);
int T=cin.nextInt();
while(T-->0)
{
for(int i=0;i<4;i++)
{
xu[i]=cin.nextBigInteger();
yu[i]=cin.nextBigInteger();
xd[i]=BigInteger.ONE;
yd[i]=BigInteger.ONE;
}
for(int i=1;i<4;i++)
{
xu[i]=xu[i].subtract(xu[0]);
yu[i]=yu[i].subtract(yu[0]);
}
for(int i=1;i<4;i++)
{
xd[i]=xu[i].multiply(xu[i]).add(yu[i].multiply(yu[i]));
yd[i]=xu[i].multiply(xu[i]).add(yu[i].multiply(yu[i]));
}
BigInteger t=xu[1].multiply(yu[2]).subtract(yd[1].multiply(xd[2]));
t=t.subtract(yu[1].multiply(xu[2]).subtract(xd[1].multiply(yd[2])));
if(t.compareTo(BigInteger.ZERO)<0)
{
t=xu[1];xu[1]=xu[2];xu[2]=t;
t=yu[1];yu[1]=yu[2];yu[2]=t;
t=xd[1];xd[1]=xd[2];xd[2]=t;
t=yd[1];yd[1]=yd[2];yd[2]=t;
}
for(int i=2;i<=3;i++)
{
xu[i]=xu[i].multiply(xd[1]).subtract(xu[1].multiply(xd[i]));
xd[i]=xd[i].multiply(xd[1]);
yu[i]=yu[i].multiply(yd[1]).subtract(yu[1].multiply(yd[i]));
yd[i]=yd[i].multiply(yd[1]);
}
t=xu[3].multiply(yu[2]).subtract(yd[3].multiply(xd[2]));
t=t.subtract(yu[3].multiply(xu[2]).subtract(xd[3].multiply(yd[2])));
if(t.compareTo(BigInteger.ZERO)>=0)System.out.println("Rejected");
else System.out.println("Accepted");
}
}
}
The Dominator of Strings
Time Limit: 3000/3000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others)
Total Submission(s): 6778 Accepted Submission(s): 713
For each test case, the first line contains an integer N indicating the size of the set.
Each of the following N lines describes a string of the set in lowercase.
The total length of strings in each case has the limit of 100000.
The limit is 30MB for the input file.
#include<bits/stdc++.h> using namespace std;
const int MAXN = ;
int n,k;
int Paiming[MAXN+],tmp[MAXN+];
int flag;
bool comp_sa(int i, int j)
{
if(Paiming[i] != Paiming[j])
return Paiming[i] < Paiming[j];
else{
int ri = i+k <= n? Paiming[i+k] : -;
int rj = j+k <= n? Paiming[j+k] : -;
return ri < rj;
}
} void calc_sa(string &S, int *sa)
{
n = S.size();
for(int i = ; i <= n; i++)
{
sa[i] = i;
Paiming[i] = i < n ? S[i] : -;
} for( k =; k <= n; k *= )
{
sort(sa,sa+n+,comp_sa);
tmp[sa[]] = ;
for(int i = ; i <= n; i++)
{
tmp[sa[i]] = tmp[sa[i-]] + (comp_sa(sa[i-],sa[i]) ? : );
}
for(int i = ; i <= n; i++)
{
Paiming[i] = tmp[i];
}
}
} int SuffixArrayMatch(string &S, int *sa, string T)
{ int lhs = , rhs = S.size();
while(rhs - lhs > )
{
int mid = (lhs + rhs)>>;
if(S.compare(sa[mid],T.size(),T) < ) lhs = mid;
else rhs=mid;
}
return S.compare(sa[rhs],T.size(),T) == ;
}
int main()
{
int t;
ios::sync_with_stdio(false);
cin>>t;
string s[],longs;
while(t--){
int n,l=-,p=-,i;
cin>>n;
memset(Paiming,,sizeof Paiming);
memset(tmp,,sizeof tmp);
for(i=;i<n;i++){
cin>>s[i];
int len=s[i].size();
if(len>l){
l=len;
longs=s[i];
p=i;
}
}
if(n==){
cout<<longs<<endl;
continue;
}
int *sa = new int[longs.size()+];
calc_sa(longs,sa);
for(i=;i<n;i++){
if(p==i)continue;
if(!SuffixArrayMatch(longs,sa,s[i]))
break;
}
//delete [] sa;
sa = NULL;
if(i>=n){
cout<<longs<<endl;
}else {
cout<<"No"<<endl;
}
}
}
Chinese Zodiac
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others)
Total Submission(s): 2451 Accepted Submission(s): 1645
Victoria is married to a younger man, but no one knows the real age difference between the couple. The good news is that she told us their Chinese Zodiac signs. Their years of birth in luner calendar is not the same. Here we can guess a very rough estimate of the minimum age difference between them.
If, for instance, the signs of Victoria and her husband are ox and rabbit respectively, the estimate should be 2 years. But if the signs of the couple is the same, the answer should be 12 years.
For each test case a line of two strings describes the signs of Victoria and her husband.
#include<stdio.h>
#include<string.h>
#include<math.h>
#include<stdlib.h>
using namespace std;
int main()
{
char m[][]={
"rat", "ox", "tiger", "rabbit", "dragon", "snake", "horse", "sheep", "monkey", "rooster", "dog" , "pig"
};
int t,s;
scanf("%d",&t);
while(t--){
char p[],q[];
scanf("%s%s",&p,&q);
if(strcmp(p,q)==){
puts("");
}else {
int i,pp,qq;
for(i=;i<;i++){
if(strcmp(m[i],p)==){
pp=i;
}
if(strcmp(m[i],q)==){
qq=i;
}
}
s=(pp-qq);
if(s>){
s=s-;
}
printf("%d\n",-s);
}
}
}
Smallest Minimum Cut
Time Limit: 2000/2000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others)
Total Submission(s): 3297 Accepted Submission(s): 602
Each case describes a network G, and the first line contains two integers n (2≤n≤200) and m (0≤m≤1000) indicating the sizes of nodes and edges. All nodes in the network are labelled from 1 to n.
The second line contains two different integers s and t (1≤s,t≤n) corresponding to the source and sink.
Each of the next m lines contains three integers u,v and w (1≤w≤255) describing a directed edge from node u to v with capacity w.
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
#define MAXN 2333
#define MAXM 2333333
struct Edge
{
int v,next;
ll cap;
} edge[MAXM];
int head[MAXN],pre[MAXN],cur[MAXN],level[MAXN],gap[MAXN],NV,NE,n,m,vs,vt;
void ADD(int u,int v,ll cap,ll cc=)
{
edge[NE].v=v;
edge[NE].cap=cap;
edge[NE].next=head[u];
head[u]=NE++; edge[NE].v=u;
edge[NE].cap=cc;
edge[NE].next=head[v];
head[v]=NE++;
}
ll SAP(int vs,int vt)
{
memset(pre,-,sizeof(pre));
memset(level,,sizeof(level));
memset(gap,,sizeof(gap));
for(int i=; i<=NV; i++)cur[i]=head[i];
int u=pre[vs]=vs;
ll aug=-,maxflow=;
gap[]=NV;
while(level[vs]<NV)
{
loop:
for(int &i=cur[u]; i!=-; i=edge[i].next)
{
int v=edge[i].v;
if(edge[i].cap&&level[u]==level[v]+)
{
aug==-?aug=edge[i].cap:aug=min(aug,edge[i].cap);
pre[v]=u;
u=v;
if(v==vt)
{
maxflow+=aug;
for(u=pre[u]; v!=vs; v=u,u=pre[u])
{
edge[cur[u]].cap-=aug;
edge[cur[u]^].cap+=aug;
}
aug=-;
}
goto loop;
}
}
int minlevel=NV;
for(int i=head[u]; i!=-; i=edge[i].next)
{
int v=edge[i].v;
if(edge[i].cap&&minlevel>level[v])
{
cur[u]=i;
minlevel=level[v];
}
}
if(--gap[level[u]]==)break;
level[u]=minlevel+;
gap[level[u]]++;
u=pre[u];
}
return maxflow;
} int main()
{
int T,u,v,w;
scanf("%d",&T);
while(T--)
{
scanf("%d%d",&n,&m);
scanf("%d%d",&vs,&vt);
NV=n,NE=;
memset(head,-,sizeof(head));
for(int i=; i<=m; i++)
{
scanf("%d%d%d",&u,&v,&w);
ADD(u,v,(ll)w*MAXM+);
}
ll ans=SAP(vs,vt);
printf("%d\n",ans%MAXM);
}
return ;
}
A Cubic number and A Cubic Number
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others)
Total Submission(s): 4947 Accepted Submission(s): 1346
For each test case, a line contains a prime number p (2≤p≤1012).
#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
bool la(LL x)
{
LL l=,r=1e6+;
while(l<=r)
{
LL mi=(l+r)/;
LL y=mi-;
if(mi*mi+y*y+mi*y==x)
return ;
else if(mi*mi+y*y+mi*y<x)
l=mi+;
else r=mi-;
}
return ;
}
int main()
{
int T;
scanf("%d",&T);
while(T--)
{
LL n;
scanf("%lld",&n);
printf("%s\n",la(n)?"YES":"NO");
}
return ;
}
2017 ACM/ICPC Asia Regional Qingdao Online的更多相关文章
- HDU - 6215 2017 ACM/ICPC Asia Regional Qingdao Online J - Brute Force Sorting
Brute Force Sorting Time Limit: 1 Sec Memory Limit: 128 MB 题目连接 http://acm.hdu.edu.cn/showproblem.p ...
- 2017 ACM/ICPC Asia Regional Qingdao Online 记录
题目链接 Qingdao Problem C AC自动机还不会,暂时暴力水过. #include <bits/stdc++.h> using namespace std; #define ...
- 2017 ACM/ICPC Asia Regional Qingdao Online解题报告(部分)
HDU 6206 Apple 题意: 给出四个点的坐标(每个点的坐标值小于等于1,000,000,000,000),问最后一个点是否在前三个点组成的三角形的外接圆内,是输出Accept,否输出Reje ...
- 2017 ACM/ICPC Asia Regional Qingdao Online Solution
A : Apple 题意:给出三个点,以及另一个点,求最后一个点是否在三个点的外接圆里面,如果在或者在边界上,输出“Rejected”,否则输出"Accepted" 思路:先求一个 ...
- 2017 ACM/ICPC Asia Regional Qingdao Online - 1011 A Cubic number and A Cubic Number
2017-09-17 17:12:11 writer:pprp 找规律,质数只有是两个相邻的立方数的差才能形成,公式就是3 * n * (n + 1) +1, 判断读入的数是不是满足 这次依然只是做了 ...
- 2017 ACM/ICPC Asia Regional Qingdao Online - 1008 Chinese Zodiac
2017-09-17 13:28:04 writer:pprp 签到题:1008 Chinese Zodiac #include <iostream> #include <strin ...
- 2017 ACM/ICPC Asia Regional Qingdao Online 1003 The Dominator of Strings hdu 6208
The Dominator of Strings Time Limit: 3000/3000 MS (Java/Others) Memory Limit: 65535/32768 K (Java ...
- 2016 ACM/ICPC Asia Regional Qingdao Online 1001/HDU5878 打表二分
I Count Two Three Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others ...
- HDU 5889 Barricade 【BFS+最小割 网络流】(2016 ACM/ICPC Asia Regional Qingdao Online)
Barricade Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total S ...
随机推荐
- 完成FileUpload的文件上传功能,且可改按钮样式
FileUpload控件: 更改按钮样式思路: 自己定义一个按钮,设置该按钮的样式,然后将FileUpload控件通过定位定在自己定义的按钮上面,设置z-index,使得控件浮在自己定义的按钮上面,记 ...
- JS语法学习笔记
JS语法: JS知识点一览图 JS知识点一览图 在function中写this,在本function中可以显示,写Person则显示undefined. 在function中写Person,在func ...
- 字符串、String等转换
(1) String 转换为字符串 例:String s = "abcde";char[] a = s.toCharArray(); (2) 字符串转换为Stringchar[] ...
- vue+element ui项目总结点(五)Carousel 走马灯组件、Collapse 折叠面板、Tree 树形控件
<template> <div class="ele_test_box"> <!-- 常用效果 Popover 弹出框组件 具体属性查看官方文档--& ...
- Perl sendmail
introduction of sendmail example send mail to multi-receiver
- tensorflowjs下载源文件到本地不能加载模型解决方案
大多数情况(非源文件错误)下载源文件到本地不能加载模型,那么你可能需要搭建一个本地WEB服务器. 1.安装apache或ngnix,可以参照这个博客 2.强烈推荐一个Chrome插件Web Serve ...
- beta版本发布-团队
一.β版本于α版本的不同 1.α版本先前只可电脑单机使用,β版本已成功解决联网问题,可以在不同电脑上正常使用 2.β版本相较于α版本修补了较多漏洞.进行了界面的优化且新增了学生个人信息维护功能.教师的 ...
- 用navcat编写定时任务调用存储过程
最近项目需要改动比较大,数据库结构也有所改变,这时就需要转移旧数据到新库中 第一时间想到的是用代码操作,由于两个库表结构不同,实体什么的得需要重新生成 并编写转移代码,这将是很大的工作量: 然后就想着 ...
- 【414】Code::Blocks增加主题
替换文件地址:C:\Users\z5194293\AppData\Roaming\CodeBlocks 文件下载地址:default.rar 通过 Settings -> Editor... - ...
- react native在xcode真机调试ios
1修改URL地址:打开项目目录下的AppDelegate.m文件,修改里面的URL,把localhost改为你的电脑的IP.在Mac系统下,你可以在系统设置/网络里找到电脑的IP地址. 2选择设备:把 ...