首先吐槽一下,ca爷出的这套题到处都是坑,bestcoder变成besthack,Ranting已经掉得不能看了

A题:

链接:http://acm.hdu.edu.cn/showproblem.php?pid=5665

分析:这题题目写错,一wa,最后发现是求的非负数

 #include <iostream>
#include <cstdio>
#include <cstring>
#include <string>
#include <vector>
#include <algorithm>
#include <set>
#include <map>
#include <bitset>
#include <cmath>
#include <queue>
#include <stack>
using namespace std;
const int maxn=;
long long a[maxn];
int main()
{
int t,n;
cin>>t;
while(t--)
{
cin>>n;
for(int i=;i<n;i++)
cin>>a[i];
int flag=,flag1=;
for(int i=;i<n;i++)
{
if(a[i]==)
{
flag=;
}else if(a[i]==)
{
flag1=;
}
}
if(flag&&flag1) cout<<"YES"<<endl;
else cout<<"NO"<<endl;
}
return ;
}

B题:

链接:http://acm.hdu.edu.cn/showproblem.php?pid=5666

分析:因为p是质数,所以内部线段上不可能有点,直接皮克定理,取模3A

 #include<iostream>
#include<cstdio>
#include<cmath>
#include<cstring>
#include<string>
#include<vector>
#include<algorithm>
using namespace std;
struct point{
long long x,y;
}p[],m[];
long long gcd(long long a,long long b){
long long c;
while(b){
c=a%b;
a=b;
b=c;
}
return a;
}
long long S(point p1,point p2,point p0){
return abs((p1.x-p0.x)*(p2.y-p0.y)-(p1.y-p0.y)*(p2.x-p0.x));
}
int main(){
long long sum,s,ans;
int t;
long long h,q;
cin>>t;
while(t--){
cin>>h>>q;
p[].x=,p[].y=;
p[].x=h,p[].y=;
p[].x=,p[].y=h;
m[].x=abs(p[].x-p[].x);m[].y=abs(p[].y-p[].y);
m[].x=abs(p[].x-p[].x);m[].y=abs(p[].y-p[].y);
m[].x=abs(p[].x-p[].x);m[].y=abs(p[].y-p[].y);
sum=gcd(m[].x,m[].y)+gcd(m[].x,m[].y)+gcd(m[].x,m[].y);
s=S(p[],p[],p[]);
ans=(s-sum+)/%q;
cout<<ans<<endl;
}
return ;
}

然而事实证明了,这个题目会被hack,因为会爆long long,赛后java写了个大数类才过的,皮克定理最后推出公式是(q-1)*(q-2)/2

 import java.math.BigInteger;
import java.util.Scanner; public class Main { @SuppressWarnings("resource")
public static void main(String[] args) {
Scanner cin=new Scanner(System.in);
int t;
t=cin.nextInt();
for(int i=0;i<t;i++){
BigInteger p,q,sum1,sum2;
p=cin.nextBigInteger();
q=cin.nextBigInteger();
sum1=p.subtract(BigInteger.valueOf(1)).divide(BigInteger.valueOf(2));
sum2=p.subtract(BigInteger.valueOf(2));
System.out.println(sum1.multiply(sum2).mod(q));
}
} }

Accept

Bestcoder #80的更多相关文章

  1. hdu 5667 BestCoder Round #80 矩阵快速幂

    Sequence  Accepts: 59  Submissions: 650  Time Limit: 2000/1000 MS (Java/Others)  Memory Limit: 65536 ...

  2. BestCoder Round #80 1002

    HDU 5666 Segment 题意:给你条斜率为-1,常数项为q(q为质数)的直线,连接原点与直线上整数格点,问你在有多少个格点在形成的无数个三角形内,而不在线段上,结果对P取模. 思路:best ...

  3. Bestcoder Round# 80

    [1003 Sequence] 指数循环节,注意a mod p = 0的情况.此时你的循环节如果返回0,这时你会输出1,而实际上应该是0 #include <algorithm> #inc ...

  4. hdu5666 BestCoder Round #80

    Segment  Accepts: 418  Submissions: 2020  Time Limit: 2000/1000 MS (Java/Others)  Memory Limit: 6553 ...

  5. BestCoder Round #80 待填坑

    Lucky Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Submi ...

  6. hdoj5667 BestCoder Round #80 【费马小定理(膜拜)+矩阵快速幂+快速幂】

    #include<cstdio> #include<string> #include<iostream> #include<vector> #inclu ...

  7. bestcoder Round #7 前三题题解

    BestCoder Round #7 Start Time : 2014-08-31 19:00:00    End Time : 2014-08-31 21:00:00Contest Type : ...

  8. hdu5634 BestCoder Round #73 (div.1)

    Rikka with Phi  Accepts: 5  Submissions: 66  Time Limit: 16000/8000 MS (Java/Others)  Memory Limit: ...

  9. hdu 4956 Poor Hanamichi BestCoder Round #5(数学题)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4956 Poor Hanamichi Time Limit: 2000/1000 MS (Java/Ot ...

随机推荐

  1. spring多个数据源配置

    sys.properties中的内容 jdbc.driverClassName=oracle.jdbc.driver.OracleDriver DB.url=jdbc\:oracle\:thin\:@ ...

  2. Hibernate 系列教程4-单向多对一

    项目图片 hibernate.cfg.xml <mapping resource="com/jege/hibernate/one/way/manytoone/User.hbm.xml& ...

  3. 【转】使用ThinkPHP必须掌握的调试方法

    经常看到有人问到findAll的返回数据类型是什么之类的问题,以及出错了不知道什么原因的情况,其实还是没有熟悉ThinkPHP内置的调试手段和方法,抛开IDE本身自带的调试方式不说,如果你正在用或者打 ...

  4. HDU1102--Constructing Roads(最小生成树)

    Problem Description There are N villages, which are numbered from 1 to N, and you should build some ...

  5. ACM暑期训练总结

    ACM暑期集训总结报告 不知不觉,ACM暑期集训已经过去了一个月了(其实我还差几天才够一个月,因为最后几天要回家办助学贷款,所以没坚持到最后,当了个逃兵.....[汗])也到了结束的时候.在这一个月中 ...

  6. 转:Ant使用指南

    一.概述 ant 是一个将软件编译.测试.部署等步骤联系在一起加以自动化的一个工具,大多用于Java环境中的软件开发.在实际软件开发中,有很多地方可以用到ant. 开发环境: System:Windo ...

  7. SVN分支的创建,合并,与销毁和相关操作

    test是分支和主干所在的文件夹,SVNTest是主干,所有的分支都放在branch里面,192.168.1.101是服务器的地址 创建分支: 把服务器中的主干复制出来到自己的分支上: svn cop ...

  8. int *p[4]与int (*q)[4]的区别

    以上定义涉及两个运算符:“*”(间接引用).“[]”(下标),“[]”的优先级别大于“*”的优先级别. 首先看int *p[4],“[]”的优先级别高,所以它首先是个大小为4的数组,即p[4]:剩下的 ...

  9. Photoshop学习之路

    网易云课堂中有的提升课程:http://study.163.com/course/courseMain.htm?courseId=765016&6925ecaa9614a750=Individ ...

  10. jq中的ajax

    jq对ajax进行了封装,在jq中$.ajax()方法是最底层的方法,第二层是load() , get() , post()方法,第三层是$.getScript()和$.getJSON().基本第二种 ...