刷题之路
不积跬步,无以至千里;不积小流,无以成江海
相思明月楼
学生一枚,所言之处,如有不当,敬请指正。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
PAT 团体程序设计天梯赛 倒数第N个字符串
给定一个完全由小写英文字母组成的字符串等差递增序列,该序列中的每个字符串的长度固定为 L,从 L 个 a 开始,以 1 为步长递增。例如当 L 为 3 时,序列为 { aaa, aab, aac, ..., aaz, aba, abb, ..., abz, ..., zzz }。这个序列的倒数第27个字符串就是 zyz。对于任意给定的 L,本题要求你给出对应序列倒数第 N 个字符串。输入格式:输入...原创 2021-12-02 10:33:39 · 406 阅读 · 0 评论 -
排序算法之快速排序(c++代码实现)
#include <stdio.h>int a[101], n;//定义全局变量void quicksort(int left, int right) { int i, j, t, temp; if(left > right) { return ; } temp = a[left]; i = left; j = right; while(i != j) {...原创 2018-05-09 21:00:24 · 1310 阅读 · 0 评论 -
HDU 1372 & POJ 2243 Knight Moves(广度优先搜索)
Problem DescriptionA friend of you is doing research on the Traveling Knight Problem (TKP) where you are to find the shortest closed tour of knight moves that visits each square of a given set of n ...原创 2018-08-24 17:49:23 · 539 阅读 · 0 评论 -
HDU 1233 还是畅通工程(最小生成树 Prime&Kruskal)
Problem Description 某省调查乡村交通状况,得到的统计表中列出了任意两村庄间的距离。省政府“畅通工程”的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直接的公路相连,只要能间接通过公路可达即可),并要求铺设的公路总长度为最小。请计算最小的公路总长度。 Input 测试输入包含若干测试用例。每个测试用例的第1行给出村庄数目N ( < ...原创 2018-08-10 20:24:46 · 436 阅读 · 1 评论 -
POJ 3278 Catch That Cow
ProblemFarmer John has been informed of the location of a fugitive cow and wants to catch her immediately. He starts at a point N (0 ≤ N ≤ 100,000) on a number line and the cow is at a point K (0 ≤ ...原创 2018-08-01 14:55:17 · 188 阅读 · 0 评论 -
HDU 2544 最短路(dijkstra算法 求单源最短路径)
Problem Description在每年的校赛里,所有进入决赛的同学都会获得一件很漂亮的t-shirt。但是每当我们的工作人员把上百件的衣服从商店运回到赛场的时候,却是非常累的!所以现在他们想要寻找最短的从商店到赛场的路线,你可以帮助他们吗?Input输入包括多组数据。每组数据第一行是两个整数N、M(N<=100,M<=10000),N表示成都的大街上有几个路口,标号为...原创 2018-07-29 18:23:16 · 232 阅读 · 0 评论 -
SPOJ - DQUERY D-query (主席树 求区间不同数的个数)
ProblemGiven a sequence of n numbers a1, a2, ..., an and a number of d-queries. A d-query is a pair (i, j) (1 ≤ i ≤ j ≤ n). For each d-query (i, j), you have to return the number of distinct element...原创 2018-07-29 09:52:18 · 487 阅读 · 0 评论 -
POJ 2104 K-th Number(主席树,区间第K大的数)
DescriptionYou are working for Macrohard company in data structures department. After failing your previous task about key insertion you were asked to write a new data structure that would be able t...原创 2018-07-27 16:29:14 · 411 阅读 · 0 评论 -
POJ 3468 A Simple Problem with Integers(线段树区间更新,区间查询)
DescriptionYou have N integers, A1, A2, ... , AN. You need to deal with two kinds of operations. One type of operation is to add some given number to each number in a given interval. The other is to...原创 2018-07-27 10:34:07 · 265 阅读 · 0 评论 -
HDU 1559 最大子矩阵(二维树状数组)
Problem Description给你一个m×n的整数矩阵,在上面找一个x×y的子矩阵,使子矩阵中所有元素的和最大。Input输入数据的第一行为一个正整数T,表示有T组测试数据。每一组测试数据的第一行为四个正整数m,n,x,y(0<m,n<1000 AND 0<x<=m AND 0<y<=n),表示给定的矩形有m行n列。接下来这个矩阵,有m行,每...原创 2018-07-26 10:59:06 · 502 阅读 · 0 评论 -
树状数组学习小结
树状数组的问题模型 首先我们搞明白树状数组是用来干嘛的,现在有一个这样的问题:有一个数组a,下标从0到n-1,现在给你w次修改,q次查询,修改的话是修改数组中某一个元素的值;查询的话是查询数组中任意一个区间的和,w + q < 500000。 这个问题很常见,首先分析下朴素做法的时间复杂度,修改是O(1)O(1)的时间复杂度,而查询的话是O(n)O(n)的复杂度...原创 2018-07-22 09:24:27 · 324 阅读 · 0 评论 -
51Nod 1081 子段求和(树状数组)
1081 子段求和 给出一个长度为N的数组,进行Q次查询,查询从第i个元素开始长度为l的子段所有元素之和。例如,1 3 7 9 -1,查询第2个元素开始长度为3的子段和,1 {3 7 9} -1。3 + 7 + 9 = 19,输出19。Input第1行:一个数N,N为数组的长度(2 <= N <= 50000)。第2 至 N + 1行:数组的N个元素。(-10...原创 2018-07-22 09:12:10 · 248 阅读 · 0 评论 -
编辑距离问题(动态规划)
一、问题描述 设A和B是两个字符串,长度分别为n,m要用最少的字符操作(包括字符的插入、删除、修改),这样的操作称为字符串A到B的操作距离,记为d(A,B)。#include <iostream>#include <cstring>#include <algorithm>#define MAXN 1000using name...原创 2018-05-21 09:40:17 · 1931 阅读 · 0 评论 -
strchr()函数与strrchr()函数的实现
char *strchr(const char *s, int c) 功能: 查找字符串s中首次出现c字符的位置说明: 返回首次出现c的位置的指针,返回的地址是被查找的字符串指针开始的第一个与c相同字符的指针,若s中不存在c则返回NULL。。。。返回值: 成功返回要查找的字符第一次出现的位置,否则返回NULL。。。。 char *strrchr(const char *s, in...原创 2018-08-13 21:54:08 · 6593 阅读 · 0 评论 -
sprintf函数的作用及用法
头文件:stdio.h函数功能:格式化字符串,将格式化的数据写入字符串中。函数原型:int sprintf(char *buffer, const char *format, [argument]...)参数:(1)buffer:是char类型的指针,指向写入的字符串指针;(2)format:格式化字符串,即在程序中想要的格式;(3)argument:可选参数,可以为任意类...原创 2018-08-13 21:40:33 · 6020 阅读 · 0 评论 -
C语言字符检测函数:isalnum、isalpha、isascii、iscntrl、isdigit、isgraph、islower、isspace、ispunct、isupper
头文件:#include<ctype.h>(1)isalnum(c)检查参数 c 是否为英文字母或阿拉伯数字, 在标准c 中相当于使用"isalpha(c) || isdigit(c)"做测试.(2)isalpha(c)检查参数 c 是否为英文字母, 在标准c 中相当于使用"isupper(c)||islower(c)"做测试.(3)issupper(c)检查参...原创 2018-08-14 15:16:18 · 801 阅读 · 0 评论 -
牛客小白月赛7 谁是神箭手
题目描述有一天,MWH突然来了兴致,想和CSL比比谁枪法好。于是他们找来了一个瓶子,比比看谁先打中这个瓶子。 给定MWH的命中率和CSL的命中率。 两人轮流射击,MWH先手,问谁获胜的概率大?输入描述:输入两个整数和,表示MWH和CSL的命中率。.输出描述:若MWH获胜的概率大,则输出"MWH"。 若CSL获胜的概率大,则输出"CSL",否则输出"equal"。输入:...原创 2018-09-15 21:22:52 · 766 阅读 · 0 评论 -
HDU 3037 Saving Beans (Lucas定理求大数组合数)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3037#include <iostream>#include <cstdio>using namespace std;typedef long long ll;const int N = 150000;ll n, m, p;ll fac[N];void in...原创 2018-08-21 11:54:21 · 514 阅读 · 2 评论 -
矩阵的和(规律)
Problem Description我们定义如下矩阵: 1/1 1/2 1/3 1/2 1/1 1/2 1/3 1/2 1/1 矩阵对角线上的元素始终是1/1,对角线两边分数的分母逐个递增。 请求出这个矩阵的总和。 Input每行给定整数N (N<50000),表示矩阵为 N*N.当N为0时,输入结束。Output输出答案,保留2位小数。Sample In...原创 2018-08-15 10:47:09 · 2326 阅读 · 0 评论 -
HDU 6112 今夕何夕(模拟)
Problem Description 今天是2017年8月6日,农历闰六月十五。 小度独自凭栏,望着一轮圆月,发出了“今夕何夕,见此良人”的寂寞感慨。 为了排遣郁结,它决定思考一个数学问题:接下来最近的哪一年里的同一个日子,和今天的星期数一样?比如今天是8月6日,星期日。下一个也是星期日的8月6日发生在2023年。 小贴士:在公历中,能被4整除但不能被100整除...原创 2018-08-15 10:40:10 · 662 阅读 · 0 评论 -
ICPC2017南宁邀请赛1001&&HDU6182 A Math Problem
Problem Description You are given a positive integer n, please count how many positive integers k satisfy kk≤n . Input There are no more than 50 test cases. Each case only contains ...原创 2018-08-15 10:35:01 · 514 阅读 · 0 评论 -
51Nod 1004 n^n的末位数字(快速幂+模运算)
Problem给出一个整数N,输出N^N(N的N次方)的十进制表示的末位数字。Input一个数N(1 <= N <= 10^9)Output输出N^N的末位数字Input示例13Output示例3#include <iostream>#include <cstdio>using namespace std;...原创 2018-08-12 17:18:31 · 365 阅读 · 0 评论 -
51Nod 1003 阶乘后面0的数量(思路+递归)
题目大意:求n的阶乘末尾有多少个0.#include <iostream>#include <vector>#include <cstdio>using namespace std;int f(int n) { if(n < 5) { return 0; } return n/5 + f(n/5);}...原创 2018-08-12 17:13:30 · 312 阅读 · 0 评论 -
HDU 1757 A Simple Math Problem(矩阵快速幂)
Problem Description Lele now is thinking about a simple function f(x). If x < 10 f(x) = x. If x >= 10 f(x) = a0 * f(x-1) + a1 * f(x-2) + a2 * f(x-3) + …… + a9 * f(x-10); And ai(...原创 2018-08-10 11:43:28 · 311 阅读 · 0 评论 -
HDU 1566 Color the ball(树状数组 区间更新,单点查询)
Problem DescriptionN个气球排成一排,从左到右依次编号为1,2,3....N.每次给定2个整数a b(a <= b),lele便为骑上他的“小飞鸽"牌电动车从气球a开始到气球b依次给每个气球涂一次颜色。但是N次以后lele已经忘记了第I个气球已经涂过几次颜色了,你能帮他算出每个气球被涂过几次颜色吗?Input每个测试实例第一行为一个整数N,(N <= 10...原创 2018-07-25 21:06:15 · 520 阅读 · 0 评论 -
HDU 1166 敌兵布阵(树状数组 单点更新,区间查询)
Problem DescriptionC国的死对头A国这段时间正在进行军事演习,所以C国间谍头子Derek和他手下Tidy又开始忙乎了。A国在海岸线沿直线布置了N个工兵营地,Derek和Tidy的任务就是要监视这些工兵营地的活动情况。由于采取了某种先进的监测手段,所以每个工兵营地的人数C国都掌握的一清二楚,每个工兵营地的人数都有可能发生变动,可能增加或减少若干人手,但这些都逃不过C国的监视。...原创 2018-07-25 20:57:39 · 239 阅读 · 0 评论 -
矩形覆盖
问题描述:用n个2*1的小矩形覆盖一个2*n的大矩形,问一共可以有多少种覆盖方法?根据图片可以容易的得出公式代码实现:int RectCover(int n) { if(n==1) { return 1; } else if(n==2) { return 2; } else { return RectCover(n-1) + RectCover(n-2)...原创 2018-07-22 08:14:06 · 273 阅读 · 0 评论 -
Stirling(斯特林)公式
斯特林公式(Stirling's approximation)是一条用来取n的阶乘的近似值的数学公式。一般来说,当n很大的时候,n阶乘的计算量十分大,所以斯特林公式十分好用,而且,即使在n很小的时候,斯特林公式的取值已经十分准确。...原创 2018-06-11 21:56:12 · 4169 阅读 · 0 评论 -
逆元的意义及求法
快速幂求逆元:int q_pow(int a,int n,int m) { int ans = 1; while(n) { if (n&1) { ans = ans*a%m; } a = a*a%m; n >>= 1; } ...原创 2018-06-08 21:00:53 · 1305 阅读 · 0 评论 -
世界上最完美的公式 ----欧拉公式
复变函数论里的欧拉公式: e^ix=cosx+isinx,e是自然对数的底,i是虚数单位。它将三角函数的定义域扩大到复数,建立了三角函数和指数函数的关系,它在复变函数论里占有非常重要的地位. 将公式里的x换成-x,得到: e^-ix=cosx-isinx,然后采用两式相加减的方法得到: sinx=(e^ix-e^-ix)/(2i),cosx=(e^ix+e^-ix)/2.这两个也叫做欧拉公式...原创 2018-06-03 18:57:19 · 6320 阅读 · 0 评论 -
PAT 团体程序设计天梯赛 L1_019 谁先倒(水题)
题目描述: 划拳是古老中国酒文化的一个有趣的组成部分。酒桌上两人划拳的方法为:每人口中喊出一个数字,同时用手比划出一个数字。如果谁比划出的数字正好等于两人喊出的数字之和,谁就输了,输家罚一杯酒。两人同赢或两人同输则继续下一轮,直到唯一的赢家出现。下面给出甲、乙两人的酒量(最多能喝多少杯不倒)和划拳记录,请你判断两个人谁先倒。输入格式:输入第一行先后给出甲、乙两人的酒量(不超过100的非负整数),...原创 2018-03-27 17:51:11 · 712 阅读 · 0 评论 -
PAT团体程序设计天梯赛L1-011 A-B
原创不易,转载请说明出处https://blog.youkuaiyun.com/Adusts问题描述:本题要求你计算A-B。不过麻烦的是,A和B都是字符串 —— 即从字符串A中把字符串B所包含的字符全删掉,剩下的字符组成的就是字符串A-B。输入格式:输入在2行中先后给出字符串A和B。两字符串的长度都不超过104,并且保证每个字符串都是由可见的ASCII码和空白字符组成,最后以换行符结束。输出格式:在一行中打印...原创 2018-03-28 16:40:11 · 1048 阅读 · 0 评论 -
PAT团体程序设计天梯赛 L1-016查验身份证
问题描述:一个合法的身份证号码由17位地区、日期编号和顺序编号加1位校验码组成。校验码的计算规则如下:首先对前17位数字加权求和,权重分配为:{7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};然后将计算的和对11取模得到值Z;最后按照以下关系对应Z值与校验码M的值:Z:0 1 2 3 4 5 6 7 8 9 10M:1 0 X 9 8 7 6 5 4 3 2现在给定一些身...原创 2018-03-28 17:10:44 · 495 阅读 · 0 评论 -
PAT团体程序设计天梯赛L1-025 正整数A+B
本题的目标很简单,就是求两个正整数A和B的和,其中A和B都在区间[1,1000]。稍微有点麻烦的是,输入并不保证是两个正整数。输入格式:输入在一行给出A和B,其间以空格分开。问题是A和B不一定是满足要求的正整数,有时候可能是超出范围的数字、负数、带小数点的实数、甚至是一堆乱码。注意:我们把输入中出现的第1个空格认为是A和B的分隔。题目保证至少存在一个空格,并且B不是一个空字符串。输出格式:如果输入...原创 2018-03-28 17:32:15 · 654 阅读 · 0 评论 -
PAT 团体程序设计天梯赛L1-033 出生年
问题描述: 以上是新浪微博中一奇葩贴:“我出生于1988年,直到25岁才遇到4个数字都不相同的年份。”也就是说,直到2013年才达到“4个数字都不相同”的要求。本题请你根据要求,自动填充“我出生于y年,直到x岁才遇到n个数字都不相同的年份”这句话。输入格式:输入在一行中给出出生年份y和目标年份中不同数字的个数n,其中y在[1, 3000]之间,n可以是2、或3、或4。注意不足4位的年份要在前面补...原创 2018-03-28 21:37:10 · 602 阅读 · 0 评论 -
PAT 团体程序设计天梯赛 L1-027 出租
下面是新浪微博上曾经很火的一张图:一时间网上一片求救声,急问这个怎么破。其实这段代码很简单,index数组就是arr数组的下标,index[0]=2 对应 arr[2]=1,index[1]=0 对应 arr[0]=8,index[2]=3 对应 arr[3]=0,以此类推…… 很容易得到电话号码是18013820100。本题要求你编写一个程序,为任何一个电话号码生成这段代码 —— 事实上,只要生...原创 2018-03-29 20:33:43 · 462 阅读 · 2 评论 -
PAT 团体程序设计天梯赛 L2-009 抢红包
没有人没抢过红包吧…… 这里给出N个人之间互相发红包、抢红包的记录,请你统计一下他们抢红包的收获。输入格式:输入第一行给出一个正整数N(<= 104),即参与发红包和抢红包的总人数,则这些人从1到N编号。随后N行,第i行给出编号为i的人发红包的记录,格式如下:K N1 P1 ... NK PK其中K(0 <= K <= 20)是发出去的红包个数,Ni是抢到红包的人的编号,Pi(&...原创 2018-03-30 20:22:28 · 489 阅读 · 0 评论 -
PAT 团体程序设计天梯赛 倒数第N个字符串
给定一个完全由小写英文字母组成的字符串等差递增序列,该序列中的每个字符串的长度固定为 L,从 L 个 a 开始,以 1 为步长递增。例如当 L 为 3 时,序列为 { aaa, aab, aac, ..., aaz, aba, abb, ..., abz, ..., zzz }。这个序列的倒数第27个字符串就是 zyz。对于任意给定的 L,本题要求你给出对应序列倒数第 N 个字符串。输入格式:输入...原创 2018-04-01 15:53:10 · 1975 阅读 · 0 评论 -
PAT 2018团体程序设计天梯赛 打折
去商场淘打折商品时,计算打折以后的价钱是件颇费脑子的事情。例如原价 ¥988,标明打 7 折,则折扣价应该是 ¥988 x 70% = ¥691.60。本题就请你写个程序替客户计算折扣价。输入格式:输入在一行中给出商品的原价(不超过1万元的正整数)和折扣(为[1, 9]区间内的整数),其间以空格分隔。输出格式:在一行中输出商品的折扣价,保留小数点后 2 位。输入样例:988 7输出样例:691....原创 2018-04-01 16:00:51 · 3452 阅读 · 2 评论 -
PAT 2018团体程序设计天梯赛 2018我们要赢
2018年天梯赛的注册邀请码是“2018wmyy”,意思就是“2018我们要赢”。本题就请你用汉语拼音输出这句话。输入格式:本题没有输入。输出格式:在第一行中输出:“2018”;第二行中输出:“wo3 men2 yao4 ying2 !”。输入样例:本题没有输入。输出样例: 2018wo3 men2 yao4 ying2 !#include<iostream>using na...原创 2018-04-01 21:57:07 · 2655 阅读 · 1 评论
分享