摘要:
http://acm.hdu.edu.cn/showproblem.php?pid=1577对于这道题,第一个感觉是建立一个起点与终点的一条直线方程,然后测试是否有夹在起点与终点之间的整数点??????但是这样做效率低,并且代码比较烦(本人曾敲过,悲剧的没有过),然后突然得到灵感,可以用求最大公约数来解具体讲解如何得出此结论:假设起点为(x1,y1),终点为(x2,y2)当中间存在某一点(x3,y3)时,(x3-x1,y3-y1)=k*(x2-x1,y2-y1),那么我们进一步认为起始点是(0,0)时,k*(x3,y3)=(x2,y2)(x3,y3)=(x2,y2)/k,即x2,y2存在公约数 阅读全文
摘要:
http://acm.hdu.edu.cn/showproblem.php?pid=1715大数模拟,原以为大数已经很熟了,但是今天一打又出现问题,具体看代码 1 #include<stdio.h> 2 #include<memory.h> 3 int add(int num1[],int len,int num2[],int answer[]) 4 { 5 int k=0,c=0; 6 for(int i=0;i<len;i++) 7 answer[k++]=(num1[i]+num2[i]+c)%10000,c=(num1[i]+num2[i]+c)/1000 阅读全文
摘要:
http://acm.hdu.edu.cn/showproblem.php?pid=1013可以模拟AC,但是我们追求最优解法sum1 2 .....8 9 10 11 ..... 17 18 19 20 .......answer 1 2 .....8 9 1 2 ..... 8 9 1 2 .......由此看出循环节为9此题具有公式,answer=(sum-1)%9+1对于%这个运算符,我得说一下,数据从0,1,2,,,,,,,n-1如此计数是直接用%n是不会有错的,但是当1,2,3,,,,,,n时不能直接%n,当数值为n时结果为0于我们想要的结果不同,所以我们将n转换为n-1如此计算的 阅读全文
摘要:
初始化定义方式:string s1; //默认构造函数,s1是空字符串string s2(s1); //s2初始化为s1string s3("mengxm"); //s3初始化为一个字符串字面值string s4(n,'m'); //s4初始化为字符'm'的n个重复对于字符串字面值"mengxm"在字符串末尾加上一个'\0',而'm'只是单纯的一个字符,这是双引号和单引号的区别对string类型的读写cin>>s;cout<<s<<endl;决不可那c的输 阅读全文