ACM
Mikchy
一名在校学生,喜爱编程,希望自己的理解可以帮助到其他人,同时也希望可以结交到朋友
展开
-
关于数学问题的程序解决,找出推导式及西大OJ_14解答
以后类似的这种数学公式的题目,一般的想法是循环,把所有情况列举出来,但是这样子会超过运行时间,即Time Limit Exceeded那么就要想,应该是有简便的算法所以要注意先是不是可以能进行公式推导!!!!!!题目:(http://oj.gxu.edu.cn/problem/14/)小西想在一个n*m的矩形中数出有多少个子矩形。子矩形即为边长a*b且0a≤n,0b原创 2017-12-20 10:57:16 · 942 阅读 · 0 评论 -
【HDU2083】简易版之最短距离:送分题
题目原链接:http://acm.hdu.edu.cn/showproblem.php?pid=2083 分析:简单题,两种方法暴力求解,因为点数最多n=500,这个的时间复杂度为O(n^2):把各个点都试过,第一个点到其他点的距离之和,第二个点到其他点的距离之和,......,最后一个点到其他点的距离之和。把这些距离存到一个数组中,然后快排sort,找出最小的。 理解题目,...原创 2018-08-07 14:33:53 · 521 阅读 · 0 评论 -
【HDU2084】数塔:简单DP
题目原链接:http://acm.hdu.edu.cn/showproblem.php?pid=2084 分析:简单的dp,dp其实就是先要找出状态转移方程,先把输入存在一个二维数组dp[][]中然后发现要最大的,那就是对于每一行而言,就是下面那一行的两列中最大的加上到我这一行中,从而得到状态转移方程: dp[i][j] += max(dp[i+1][j],dp[i...原创 2018-08-07 14:43:22 · 245 阅读 · 0 评论 -
【HDU2085】核反应堆:送分题
题目原链接:http://acm.hdu.edu.cn/showproblem.php?pid=2085 分析:额额。。。应该没啥好讲的,注意点就是先离线计算,也就是先打表。还有一个注意点就是要用long long,因为用int存会不够,会发现n>=30会不正常答案出现负,说明超过范围了,所以改用long long。 AC代码:#include<iostr...原创 2018-08-07 14:48:32 · 320 阅读 · 1 评论 -
【HDU2086】A1 = ?:数学表达式推导
题目原链接:http://acm.hdu.edu.cn/showproblem.php?pid=2086 分析:将式子推导找出规律,最后得出A1和A0,An+1,C1,C2.....Cn的关系。 AC代码:#include<iostream>#include<cstdio>#include<cstring>#inclu...原创 2018-08-07 15:04:56 · 307 阅读 · 0 评论 -
【HDU2111】Saving HDU:简单贪心模拟题
题目原链接:http://acm.hdu.edu.cn/showproblem.php?pid=2111 分析:就是已知袋子容积,然后给出宝贝的单价以及总体积,由于宝贝可以分割,如果不能分割应该是背包题目,但此时可以分割,所以就比较简单。将宝贝的单价和体积记录在一个结构体中,然后依据单价进行降序排序,即将单价高的放在前面,那我们取的时候,为了尽可能的拿多价值,由于体积可以分割,...原创 2018-08-07 15:30:27 · 440 阅读 · 0 评论 -
【HDU2108】Shape of HDU:几何问题,多边形的凹凸性判断
题目原链接:http://acm.hdu.edu.cn/showproblem.php?pid=2108 分析:给一个多边形的各个顶点坐标,进而判断多边形的凹凸性,这个一般利用向量叉乘方法,详细内容可以参考我的另一篇博客:判断多边形的凹凸性其实总共就是三步:三点为一组来判断,按顺序设为P1,P2,P3。得两个向量P1P3和P1P2 计算两个向量叉乘P1P3×P1P2,...原创 2018-08-08 02:08:12 · 583 阅读 · 0 评论 -
【HDU2082】找单词:母函数,排列组合问题
题目原链接:http://acm.hdu.edu.cn/showproblem.php?pid=2082 知识点:母函数(生成函数): 生成函数有普通型生成函数和指数型生成函数两种(本题是普通型)。 形式上,普通型母函数用于解决多重集的组合问题, 指数型母函数用于解决多重集的排列问题。 母函数还可以解决递归数列的...原创 2018-08-08 14:33:41 · 276 阅读 · 0 评论 -
【HDU2110】Crisis of HDU:母函数,排列组合问题
题目原链接:http://acm.hdu.edu.cn/showproblem.php?pid=2110 题目分析:由于要分1/3的资产,所以要先算出总资产为多少,然后判断能否被3整除。如果不能,说明无法分割资产,也就输出sorry如果能,那就要找出可以组合成资产的1/3的组合方法数,那就变成了一个排列组合的问题刚好整除,那就是valSum/3的方案数。物品n种,每种数...原创 2018-08-08 15:23:49 · 242 阅读 · 0 评论 -
输入结束'\n'
我们如果输入一个字符串,也就是字符数组,那在字符数组最后会有一个'\0',这个就是用于识别字符数组结束了而当我们把字符串认为是一个个字符的输入,即多个字符的输入,可以用char c,然后用scanf,cin,getchar来输入,那么这个时候的判断结束就是,当c=='\n',就是输入换行的时候,说明这个字符数组输入结束了。而不是用c=='\0'来判断,注意了...原创 2018-08-15 22:32:08 · 716 阅读 · 0 评论 -
【牛客网】Wannafly挑战赛22,A题计数器:裴蜀定理结合扩展欧几里得思路
题目链接:https://www.nowcoder.com/acm/contest/160/A 题目:有一个计数器,计数器的初始值为0,每次操作你可以把计数器的值加上a1,a2,...,an中的任意一个整数,操作次数不限(可以为0次),问计数器的值对m取模后有几种可能。 输入:第一行两个整数n,m接下来一行n个整数表示a1,a2,...,an1≤n≤1001≤m,...原创 2018-08-18 15:39:05 · 388 阅读 · 0 评论 -
【牛客小白月赛6】ABCDHJ题解
比赛链接:https://www.nowcoder.com/acm/contest/136#question总体情况:在比赛过程中,完成了ABDH题,比赛结束后,补充完成了CJ两题。 A题:简单模拟题,重点在于找全条件进行判断题目描述:HtBest有一条可爱的小鲲,HtBest想和与小鲲比赛游泳,我们可以把游泳池看成一个圆环,两人从起点游一圈回到起点即可完成比赛。两人在距离...原创 2018-08-18 22:32:44 · 842 阅读 · 0 评论 -
【HDU2036】改革春风吹满地:利用向量叉乘求多边形面积
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2036 分析:具体分析可以参考我的另一篇博客,有具体过程:判断多边形的凹凸性和计算多边形面积:利用向量叉乘,其中的第五点 AC代码:#include<iostream>#include<cstdio>using namespace std;c...原创 2018-08-16 14:03:27 · 283 阅读 · 0 评论 -
2019 蓝桥杯省赛 B 组模拟赛(一)——计蒜客(未完待续)
比赛链接:2019 蓝桥杯省赛 B 组模拟赛(一) 友情提示:蓝桥杯的头文件,如果不是都记得,可以直接万能头文件 #include <bits/stdc++.h>, 不过有的时候,这样子会超时,之前做过一些题,卡时间,所以如果记得,尽可能把头文件个个都打出。 A题——钟表送分题,直接手算即可,30:24:26 - 22:28:45 = 07:55:41 。...原创 2019-02-01 00:23:19 · 2114 阅读 · 6 评论 -
字符串的字串和子序列的区别
对于一个字符串而言,比如:pikachu字串是在字符串中,取出一块(连续的),如:pik, ach, kac等子序列指的是从字符串中,顺序取出字符,但是可以不连续:如:pau, kch, icu等...原创 2019-05-11 11:43:18 · 5801 阅读 · 0 评论 -
【HDU2081】手机短号:送分题
题目原链接:http://acm.hdu.edu.cn/showproblem.php?pid=2081 分析:就是输入一个11长度的字符数组,注意一般数组长度多1,为了存最后的'\0'。然后先输出6,再从数组第六位输出,就输出了手机号后5位, AC代码:#include<stdio.h>int main(){ int n,i; cha...原创 2018-08-07 11:29:52 · 736 阅读 · 2 评论 -
【POJ1979】Red and Blank:递归,DFS
题目链接:POJ1979 题意:其实就是有一个地图,问能走动的范围有多少?。其中.'@'为起点, ' . '为路,可以到达。' # '为墙,不能通过。 输入:多组数据,每组数据的第一行输入两个数w和h,w表示列数,h表示行数,然后下面的h行就是输入地图。输入结束为当w和h同时为0。 输出:每组数据输出一个数,表示可以走动的范围,包括起点。 分析:...原创 2018-08-06 17:52:55 · 311 阅读 · 0 评论 -
C++的取整:向下取整,向上取整,四舍五入取整,直接去小数点取整
作用 函数名称 函数说明 2.1 2.9 -2.1 -2.9 向下取整 floor() 不大于自变量的最大整数 2 2 -3 -3 向上取整 ceil() 不小于自变量的最大整数 3 3 -2 -2 四舍五入取整 自定义round() 四舍五入到最邻近的整数 2...原创 2018-08-06 16:20:19 · 16315 阅读 · 0 评论 -
字符串的使用和注意点及西大OJ20解答
题目:(http://oj.gxu.edu.cn/problem/20/)一个字符串中可能包含a~z中多个字符串,并且可能会有重复,如 String data ="abcdaaa",这道字符串出现次数最多的字母就是a,出现了4次。现在用户输入一个字符串,我们需要求出出现次数最多的字母,并且求出次数,如果存在字母中出现最多的次数不唯一,但所有出现次数最多的字母及次数都要打印出来。原创 2017-12-19 13:33:05 · 481 阅读 · 0 评论 -
关于单个字符(%c)用scanf输入的错误(多了空行出来)
编写一个程序,实现输入:输入有多行,每行有两个字符(大写的R或V或I)和两个实数(在(0,1000]范围内的实数,可以是小数)。A1 A2 B1 B2其中A1和B1是字符,A2是参数A1的值,B2是参数B1的值例如V 2 I 1表示电压V为2,电流I为1,所以你需要输出电阻为2因此用scanf来输入的使用,既有单个字符的输入,又有数(浮点数)的输入。目前的代原创 2017-12-17 20:07:46 · 1205 阅读 · 6 评论 -
关于数组排序,用到的qsort()及cmp()
qsort()这个函数是存在头文件stdlib.h中的,所以头文件要加上#include调用方法:qsort(数组名,数组长度,sizeof(数组类型),cmp)例子:int arr[1000]; qsort(arr,1000,sizeof(arr[0]),cmp); 而对于排序是升序还是,就是根据cmp()函数的定义来决定的,同时对于不同的数组类型,in原创 2017-12-19 13:27:13 · 845 阅读 · 0 评论 -
关于数字转为字符串(itoa)和字符串转为数字(atoi)介绍及使用
头文件是 #include有几个:atoi : 字符串转换为整型atof : 字符串转换为双精度浮点型值itoa : 整型转换为字符串Itoa : 长整型转字符串一、atoiatoi : a(char,字符) to int,字符串转整型。例子:#include #include #include #include using na原创 2018-01-22 13:37:07 · 2507 阅读 · 0 评论 -
数字转字符串(string)扩充说明及简单写数字和字符串转换代码(正式比赛的itoa和atoi用不了)
由于itoa是非标准的C函数,所以很多做题的OJ上都使用不了。因此有两种解决方法:1、使用C++新的类型:string 这个有的时候会用不了,需要在编译器命令里加上-std=c++11这个新的数据类型就是字符串,是C++中新增的。这个是在头文件:#include而且要加上#include 用上命名空间:using namespace std;这样子就可以使用了。常用原创 2018-01-22 17:19:29 · 897 阅读 · 0 评论 -
【UVA679】Dropping Balls 解题报告
题目链接:点击打开链接是一个二叉树的编号,首先想到要最后一个球,那我就模拟从第一个球开始,走过的改变状态:要么从关闭(0)变为开启(1),要么从开启(1)变为关闭(0)。用一个数组保存结点状态。代码如下: #include<bits/stdc++.h>using namespace std;const int maxd = 20;int s[1<<...原创 2018-01-31 22:49:57 · 251 阅读 · 0 评论 -
关于二维(字符)数组的输入问题
在解决PAT的团体程序设计天梯赛-练习集的L1_016:点击打开链接遇到需要定义一个二维的字符数组,用于存储身份证号信息。此时对于二维数组的输入有一些细节问题,很重要。对于二维数组的输入,一般是一行一行的输入,当然也可以一个个来,但最好的还是一行一行的输入。所以一行一行的输入:for(int i= 0;i < N;i++) scanf("%s",perNum[i]);对于输入,单个输入用的是%原创 2018-01-15 17:03:46 · 29413 阅读 · 4 评论 -
【HDU2553】N皇后问题 解题报告(递归求解)
题目见:HDU2553用递归的思想求解N皇后问题,主要考虑的是每一行都放一个皇后。所以递归的想法就是每一行考虑,如考虑第k行,那就只要前面的k-1行已经确定,所以是从第一行开始递归下来。这题主要还有一个陷进,一定要打表,因为N≤10。不打表会超时。代码如下:#include<iostream>#include<cstdio>#include<...原创 2018-03-30 11:34:21 · 526 阅读 · 0 评论 -
【HDU1237】简单计算器 解题报告(利用栈求解)
题目见:https://vjudge.net/problem/HDU-1237主要是用栈,然后考虑*和/的优先级比+和-高。所以把*和/的运算后放入stack,最后栈里面全都是+运算(把-运算看成是加上一个负数)。代码如下:#include <iostream> #include <cstdio> #include <cstring> ...原创 2018-03-30 12:28:06 · 325 阅读 · 0 评论 -
【POJ1005】I Think I Need a Houseboat 解题报告
题目链接:https://vjudge.net/problem/POJ-1005题意:输入:先输入案例个数N,然后下面的N行,每行两个数表示X和Y输出:输出格式Property N: This property will begin eroding in year Z.,其中N表示这是第几个案例,Z表示淹没从第几年解题思路:利用给出的(X,Y)和(0,0)确定圆的半径r...原创 2018-07-21 17:14:41 · 339 阅读 · 0 评论 -
【POJ2739】Sum of Consecutive Prime Numbers 解题报告
题目链接:https://vjudge.net/problem/POJ-2739题意:输入一个数,找到有多少组连续的素数之和等于输入的数。输入:多组输入,输入一个数,以0作为输入结束的标识。输出:输出一个数,表示有多少组连续的素数之和刚好等于输入的数。解题思路:1.输入的数小于10 000。所以先把10005内的所有素数找出存放在一个数组里,因为要找连续素数之和,所...原创 2018-07-21 16:12:19 · 237 阅读 · 0 评论 -
【POJ1552】Doubles 解题报告
题意:给一行数(2到15个),每个数都是比100小的正数。要找出这组数里头满足两个数之间是两倍关系的多少对。输入:每一行输入为一组,以0为每一组数的输入结束标识。用-1作为总的输入结束。输出:对于每一组数输出一个结果数,表示满足两倍关系的有多少对。解题思路:可以先把一组数从小到大排序,然后从最小的数的两倍开始往后找,若有两倍后相同的,说明这个数和前面的那个数有两倍关系;...原创 2018-07-21 16:01:44 · 296 阅读 · 0 评论 -
Wannafly交流赛1的B题题解
题目链接:点击打开链接 来源:牛客网 每件物品的价格都是v元(v为给定值),假设你投入的硬币总额是x元(x必须>=v),点选了一样物品后,贩卖机就会落下x-v元。 假设落下的硬币有d1个1元硬币、d5个5元硬币、d10个10元硬币、d50个50元硬币,贩卖机会选择d1+d5+d10+d50最小的方案找你钱,有办法证明这样的方案只有一种。(...原创 2018-03-02 23:16:54 · 244 阅读 · 0 评论 -
递归初识——汉诺塔问题
何为递归:程序调用自身的编程技巧称为递归( recursion) 一个过程或函数在其定义或说明中有直接或间接调用自身的一种方法,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量。一般来说,递归需要有边界条件、递归前进段和递归返回段。当边界条件不满足时,递归前进;当边界条件满足时...原创 2018-08-06 11:52:03 · 273 阅读 · 0 评论 -
【算法设计与数据结构】为何程序员喜欢将INF设置为0x3f3f3f3f?
在算法竞赛中,我们常常需要用到一个“无穷大”的值,对于我来说,大多数时间我会根据具体问题取一个99999999之类的数(显得很不专业啊!)在网上看别人代码的时候,经常会看到他们把INF设为0x7fffffff,奇怪为什么设一个这么奇怪的十六进制数,一查才知道,因为这是32-bit int的最大值。如果这个无穷大只用于一般的比较(比如求最小值时min变量的初值),那么0x7fffffff确实是一...转载 2019-05-17 22:35:25 · 147 阅读 · 0 评论