基础题目
流年冲淡时光
这个作者很懒,什么都没留下…
展开
-
武大校赛资格赛 差值维护
Problem 1565 - B - MagicDescriptionHere are n numbers.You have a magic : first , you choose a interval [l,r],and then each Si(lYou can use the magic at most once to make sum of all the n翻译 2015-04-19 17:39:17 · 420 阅读 · 0 评论 -
英文双引号转化为中文双引号
小白书上的代码相对来说简单一些,另外注意TeX格式的左双引号为··这里先贴上自己的代码:#include#include#include#include#include#include#include#includeusing namespace std;char *s="`1234567890-=QWERTYUIOP[]ASDFGHJKL;'ZXCVBNM,./";#翻译 2015-06-24 23:59:06 · 2648 阅读 · 0 评论 -
键盘向右错位
这么一个简单的问题,我竟然想到用麻烦的if语句写,这难道是智商问题,还是做题少的问题,亦或者是我不肯认真去想简单的方法,最后还是看了答案,撸了一发不一样的代码:#include#include#include#include#include#include#include#includeusing namespace std;char *s="`1234567890-=Q翻译 2015-06-24 23:29:07 · 673 阅读 · 0 评论 -
cf558B查找最短的最大区间段,利用二维数组巧妙简化运算
本题自己当时比较心急,一则题目没有看清楚,被样例吸引走了,题上说的如果有多组符合,输出任意一组,当成了输出最左边的一组来做,二来,比较心急,想水一发后台数组,卡一下时间,果然当时就卡过了,然后遇上后台大数组果断TLE了,注意此处用一个二维数组统计每个数的左右边界,巧妙简化了时间,而且我自己当时用的结构体排序也比较麻烦。#include#include#include#includ翻译 2015-07-15 09:40:22 · 455 阅读 · 0 评论 -
UVA120istringstream和deque的用法
这题自己敲的代码有些繁琐了,当然很多都是可以简化的,有些反复使用的东西完全可以写成函数的,当然即使写成函数也比较麻烦,其实只要记得每次看最前面的位置是不是当前最大值,不是的话先把最大值翻到最前面然后再翻到这个位置,当时不知道想的什么,写的这么麻烦,当然最简便的方法是使用istringstream和deque。分别贴上代码:前面是别人简化些的代码,后面的是自己写的脑抽的代码,最后面是最简翻译 2015-07-28 19:36:02 · 290 阅读 · 0 评论 -
UVA10194getline()的用法注意
这题有个很大的坑点:it must be done case insenstive.这句话的意识在这里是部分大小写,交了俩发WA,感觉自己没什么错的,看了下别人的,发现最后面的排序部分大小写,真的坑。另外写代码的时候发现,getline(cin,string)一直崩溃,不知道为什么,然后就把string改成了char字符数组,用gets输入,一直以为是getline()有什么问题,后来看到原创 2015-07-29 16:24:53 · 387 阅读 · 0 评论 -
计蒜客428俩个8位制年月日之间的差值
月份打表,数字笔画打表,使用月份的二维数组判断日期的合法性,使用数字的一维数组直接计算日期的笔画数,计算年差值,用各自的总和相减即可#include#include#include#include#include#include#include#include#include#include#include#include#include#include#d原创 2015-07-21 08:17:41 · 407 阅读 · 0 评论 -
小白书之移动小球哈希表的链式结构
这题怪我脑子笨,掉进了当初学数据结构链表的黑洞中去了,想了好久没想明白,而实际上是个哈希表而已,#includeusing namespace std;const int MAXN=1000;int n,left[MAXN],right[MAXN];void link(int X,int Y){ right[X]=Y;left[Y]=X;}int main(){ in原创 2015-08-14 21:33:20 · 493 阅读 · 0 评论 -
小白书之栈的调用过程
注意使用栈的时候的栈的调用过程,以及栈的函数等等。注释的代码是我乱搞的,也不知道对不对。正确的姿势,是非注释部分模仿栈的调用过程写的代码。#include#include#include#include#include#include#include#include#includeusing namespace std;const int MAXN=1000+10;int原创 2015-08-14 19:25:39 · 414 阅读 · 0 评论 -
sscanf用法详解
sscanf() - 从一个字符串中读进与指定格式相符的数据. 函数原型: Int sscanf( string str, string fmt, mixed var1, mixed var2 ... ); int scanf( const char *format [,argument]... ); 说明: sscanf与scanf类似,都是用于输入的,只原创 2015-08-15 18:39:58 · 538 阅读 · 0 评论 -
UVA133循环数组加标记统计
水题,用循环数组加标记统计就可以了,注意循环数组从0开始好一些,比较容易计算。#include#include#include#include#include#include#include#include#include#include#include#include#include#define LL __int64using namespace std;//原创 2015-08-18 18:42:13 · 412 阅读 · 0 评论 -
孪生素数
注意素数判定使用sqrt时用floor控制精度影响,这里还用了assert控制不合理的参数,参数不合理异常退出。#include#include#include#include#include#include#include#includeusing namespace std;#define LL long longint is_prime(int x){翻译 2015-06-18 16:22:59 · 468 阅读 · 0 评论 -
sprintf()函数和strchr()函数
可以用sprintf()函数把信息输出到字符串,用法和printf(),fprintf类似,但应保证字符串足够大。strchr()函数:查找字符串s中首次出现字符c的位置,成功则返回要查找字符第一次出现的位置,失败返回NULL;#include#include#include#include#include#includeusing namespace std;#de翻译 2015-06-18 12:08:52 · 560 阅读 · 0 评论 -
最长回文字串
scanf("%s")输入字符串碰到空格或者TAB就会停下来。此处可以使用fgets或者gets;另外注意头文件cctype中的函数的巧妙使用,此处使用isalpha和toupper简化了代码。此处枚举字符串的中间位置,然后向俩边扩展,节省了时间复杂度,注意向俩边扩展时,奇数个和偶数个长度的区别。另外编程思想:在实际编程时,我们可以先编写一个具备主要功能的程序,再加一完善。翻译 2015-06-18 15:20:21 · 348 阅读 · 0 评论 -
武大校赛资格赛 最小矩阵覆盖
Problem 1567 - D - Sloth's AngryTime Limit: 1000MS Memory Limit: 65536KB Total Submit: 248 Accepted: 88 Special Judge: NoDescriptionA forest is full of sloths, they are so eager fo翻译 2015-04-19 18:39:35 · 448 阅读 · 0 评论 -
武大校赛资格赛 求方差
Problem 1570 - G - April diseaseTime Limit: 1000MS Memory Limit: 65536KB Total Submit: 210 Accepted: 105 Special Judge: NoDescriptionHolding a contest is an interesting mission, an翻译 2015-04-19 18:43:43 · 430 阅读 · 0 评论 -
开灯问题
注意此题中把原先开着的灯打开,打开的灯关上,直接用flag[i*j]=!flag[i*j]就另外为了防止最后一个输出后面有空格,此处巧妙的设置了一个first;#include#include#include#include#include#includeusing namespace std;#define LL long longint main(){翻译 2015-06-17 16:33:54 · 398 阅读 · 0 评论 -
10^12以内整数的因子个数
如果i是n的约数,则n/i也是n的约数。除了i=n/i;这种特殊情况之外,i和n/i恰好有一个不超过n的算术平方根。这样只需要从1枚举到sqrt(n)即可。并不会超时。#include#include#define LL long longint main(){ LL n; while(scanf("%lld",&n)) {翻译 2015-06-16 16:48:01 · 735 阅读 · 0 评论 -
连除解决乘法溢出
#include#include#includeusing namespace std;#define LL long longint main(){ int n,m; while(cin>>n>>m) { double sum=0; for(int i=n;i { sum=s翻译 2015-06-17 15:07:02 · 657 阅读 · 1 评论 -
完全平方数
#includeint main(){ int x,n,hi,lo; for(x=1; ;x++) { n=x*x; if(n if(n>9999) break; hi=n/100; lo=n%100; if(hi/10==hi%10&&lo/10==l翻译 2015-06-16 11:44:00 · 420 阅读 · 0 评论 -
3n+1奇偶变换
有时数据范围比较大,但是不是很确定自己计算的时间复杂度是否正确,可以写发暴力测试下#include#define LL long longint main(){ LL n; while(scanf("%lld",&n)) { LL num=0; while(n!=1) {翻译 2015-06-16 13:33:51 · 725 阅读 · 0 评论 -
%.*lf控制输出长度
#include#include#includeusing namespace std;#define LL long longint main(){ int a,b,c; while(cin>>a>>b>>c) { printf("%.*lf\n",c,a*1.0/b); } return 0;}小数点.翻译 2015-06-17 15:09:42 · 4064 阅读 · 0 评论 -
不指定输入数据个数,和memcpy函数
不指定输入数据个数,加循环,例如输入几个整数,然后逆序输出#include#include#include#includeusing namespace std;#define LL long longint main(){ int a[110]; int i,x,n=0; while(scanf("%d",&x)==1) a翻译 2015-06-17 16:19:27 · 537 阅读 · 0 评论 -
蛇形填数
#include#include#include#include#include#includeusing namespace std;#define LL long longint main(){ int a[15][15]; int n; while(scanf("%d",&n)) { memset(a,0,sizeof(a)); in翻译 2015-06-17 19:14:40 · 413 阅读 · 0 评论 -
UVA301回溯法求坐火车问题的最大收益
这题站点最大为七,订单数为22,然后一开始就想着去按站点去进行搜索,然后写了n久,写不对,写残了,然后就去搜订单。当时脑子乱了,去随便去写搜索搜订单,最后写好交上去连着T了4发,最后稍微改了下竟然以2666ms的时间险过了,然后看了看别人交的时间,再没有比我的时间长的了,而且竟然还有一个19ms过的,实在很想看看别人19ms是怎么过的,然而别人的代码不开放,没办法了,但比我的时间少的代原创 2015-09-25 16:32:19 · 462 阅读 · 0 评论