摘要:摘自上海交大bbs:奋是基础,一切的前提奋之上是忍耐大部分时候大部分人的“习惯”都是跟“效率”作对的奋让你有机会去跟这些习惯做斗争在ACM竞赛的级别,写代码不是在解题,而是实现早已在脑子里准备好的一个逻辑流程。这个追求跟大部分没有训练过的人的习惯相反,要扭转这种习惯,第一步可以做尝试有:1.把准备和敲键盘分割为两个动作。2.把敲键盘和运行分割为两个动作。3.编译错误这件事情几乎总是会发生,但“尝试”减少编译错误的过程,确实对提高准备效率很有帮助帮助。写程序的准备->写代码->测试三阶段,普通人之间差距最小的就是第二个阶段。速度都是在“短到完全不充分或者长得非常没建设性”的准备期,以
阅读全文
摘要:外挂1inline bool read(int &num) { char in;bool IsN=false; in=getchar(); if(in==EOF) return false; while(in!='-'&&(in<'0'||in>'9')) in=getchar(); if(in=='-'){ IsN=true;num=0;} else num=in-'0'; while(in=getchar(),in>='0'&&in<
阅读全文
摘要:那天比赛时还有一题,分糖果。当时看了没神马头绪,就没看了。这是地址http://218.75.208.59:8084/acmhome/problemdetail.do?&method=showdetail&id=1061分糖果时间限制(普通/Java):1000MS/3000MS 运行内存限制:65536KByte总提交:14 测试通过:11描述肖恩和帕特里克是兄弟,他们从他们的父母那里得到了很多糖果。每一块糖具有一个的正整数的价值,孩子们希望分他们得到的糖果。首先,肖恩将这些糖果分成两堆,并选择一堆给帕特里克。然后,帕特里克将尝试计算每堆的价值,其中每堆的价值是在那堆的糖果价
阅读全文
摘要:题目描述:给你两个n进制数a和b。以n进制的形式输出a % b。解题报告:String st = Integer.toString(num, base); // 把num当做10进制的数转成base进制的st(base <= 35).int num = Integer.parseInt(st, base); // 把st当做base进制,转成10进制的int(parseInt有两个参数,第一个为要转的字符串,第二个为说明是什么进制).BigInter m = new BigInteger(st, base); // st是字符串,base是st的进制.1.如果要将一个大数以2进制形式读入
阅读全文
摘要:这里指的java速成,只限于java语法,包括输入输出,运算处理,字符串和高精度的处理,进制之间的转换等,能解决OJ上的一些高精度题目。1. 输入:格式为:Scanner cin = new Scanner (new BufferedInputStream(System.in));例程:import java.io.*;import java.math.*;import java.util.*;import java.text.*;public class Main{ public static void main(String[] args) { Scanner cin = new Sca.
阅读全文
摘要:产生int型随机数#include<stdio.h>#include<stdlib.h>#include<string.h>#include<math.h>#include<time.h>int main( ){ //freopen( "1.in","r",stdin ); //freopen( "3.out","w",stdout ); srand( time( NULL ) ); int t,n = 10 ; while( n-- ) { printf
阅读全文
摘要:strchr函数原型extern char *strchr(const char *s,char c),在字符串*s中找第一个出现c的位置,如果没有则返回NULLstrstr函数原型strstr原型:extern char *strstr(char *haystack, char *needle),在字符串*haystack种查找第一次出现needle的位置,如果没有则返回NULL注意一下,接收这两个函数的返回值必须是字符串类型的指针,否则编译无法通过
阅读全文
摘要:atof(将字符串转换成浮点型数) 相关函数 atoi,atol,strtod,strtol,strtoul表头文件 #include <stdlib.h>定义函数 double atof(const char *nptr);函数说明 atof()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('\0')才结束转换,并将结果返回。参数nptr字符串可包含正负号、小数点或E(e)来表示指数部分,如123.456或123e-2。返回值 返回转换后的浮点型数。附加说明 atof()与使用strtod(nptr
阅读全文
摘要:杭电ACM题目分类基础题:1000、1001、1004、1005、1008、1012、1013、1014、1017、1019、1021、1028、1029、1032、1037、1040、1048、1056、1058、1061、1070、1076、1089、1090、1091、1092、1093、1094、1095、1096、1097、1098、1106、1108、1157、1163、1164、1170、1194、1196、1197、1201、1202、1205、1219、1234、1235、1236、1248、1266、1279、1282、1283、1302、1303、1323、1326、13
阅读全文
摘要:Poj题目归类poj--题目分类1、排序1423, 1694, 1723, 1727, 1763, 1788, 1828, 1838, 1840, 2201, 2376, 2377, 2380,1318, 1877, 1928, 1971, 1974, 1990, 2001, 2002, 2092, 2379,1002(需要字符处理,排序用快排即可) 1007(稳定的排序) 2159(题意较难懂)2231 2371(简单排序) 2388(顺序统计算法) 2418(二*排序树)2、搜索、回溯、遍历1022 1111 1118 1129 1190 1562 1564 1573 1655 2184
阅读全文
摘要:以前一直忽视了异或这些小运算,今天做到HDU的2095时才发现异或的功能,这里只讲它的一小部分; 异或时一种逻辑运算,它的真值表如下 1 ^ 1 == 0; 1 ^ 0 == 1; 0 ^ 1 == 1; 0 ^ 0 == 0; 异或实质上是将参与运算的两个数据,按对应的二进制逐位进行逻辑异或运算,只有当对应位的二进制数互斥时对应为的结果才为真; 下面介绍异或运算的几种性质: 1 交换律:a ^ b ^ c = a ^ c ^ b;(很多人忽视的性质,杭电2095就是利用这个性质做的,再小菜鸟的博客里面有 ); 2 结合律:a ^ b = b ^ a;(这个相信大家都知道 ) 按位异或同样可.
阅读全文
摘要:今天在做2051时一直不能A,后来发现竟然是上一次的数据下一次还会输出来,尝试了多种方法均不行(把字符串在while 循环里面也过不了),最终想起了小白曾经教过memset;于是发现了memset的好处,决定以后在定义字符串时先memset 一下,下面来详细介绍一下memset的功能(百度文库里面讲得很详细,不过觉得这部分信息跟适合ME) 函数原型void *memset(void *s,int ch,unsigned len),在"string.h"的头文件中;参数表大小是以字节为单位,不过不同的参数类型不同的的机器,参数所占字节可能不同所以一般用sizeof来确定长度;
阅读全文
摘要:几天在写C语言标识符时看到别人的代码中有isalpha及isalnum,相比我的代码要省了很多东西,百度一下才知道,原来还有现成的函数可以用 这两个函数都包含在#include ctype.h中,其中 int isalpha(int ch) 用来判断ch是否为English字母,当其为英文字母a-z或A-Z时,在标准C中相当于使用isupper(ch)(判断ch是否为大写字母)||islower(ch)(判断ch是否为小写字母)返回非零值,否则返回零; int isalnum (int c)与int isalpha类似,但它的判断范围更广,它还能判断0-9的数字,即当其为英文字母a-z
阅读全文