算法练习
文章平均质量分 65
COCO56(徐可可)
河南省淮阳中学14级学生,平顶山学院17级软件工程游戏开发方向徐可可,现处于求职状态,希望能够获得一份儿Python相关的工作,有事儿请内信或者在文章下方评论。
展开
-
Python3使用动态规划处理背包问题:完全背包(含背包恰好装满的情况)
文章目录题目介绍题解1题解2题解3完全背包问题是基于01背包的,如果对01背包问题不熟悉,可以参考:Python3使用动态规划处理01背包问题题目介绍原题链接:NC309 完全背包描述你有一个背包,最多能容纳的体积是V。现在有n种物品,每种物品有任意多个,第i种物品的体积为viv_ivi ,价值为wiw_iwi。(1)求这个背包至多能装多大价值的物品?(2)若背包恰好装满,求至多能装多大价值的物品?数据范围:1≤v,vi,wi≤10001 \le v,v_i,w_i \le 1000原创 2022-04-26 22:26:27 · 3821 阅读 · 0 评论 -
Python3使用动态规划处理01背包问题
文章目录视频教程讲解题目介绍题解1:二维列表题解2:一维列表(滚动数组)延伸阅读视频教程讲解【Python算法系列】动态规划2-01背包问题&完全背包问题【Python算法实战】背包问题题目介绍原题链接:NC145 01背包描述已知一个背包最多能容纳体积之和为v的物品现有 n 个物品,第 i 个物品的体积为 vi , 重量为 wi求当前背包最多能装多大重量的物品?数据范围: 1≤v≤1000,1≤n≤1000,1≤vi≤1000,1≤wi≤10001 \le v \le 1原创 2022-04-26 20:11:48 · 2386 阅读 · 0 评论 -
L1-041. 寻找250【利用流输入巧解】
对方不想和你说话,并向你扔了一串数…… 而你必须从这一串数字中找到“250”这个高大上的感人数字。输入格式:输入在一行中给出不知道多少个绝对值不超过1000的整数,其中保证至少存在一个“250”。输出格式:在一行中输出第一次出现的“250”是对方扔过来的第几个数字(计数从1开始)。题目保证输出的数字在整型范围内。输入样例:888 666 123 -233原创 2018-02-21 11:46:24 · 1507 阅读 · 0 评论 -
2018年全国多校算法寒假训练营练习比赛(第三场) -A不凡的夫夫【附详尽的代码注释和斯特林公式介绍以及推导过程】
链接:https://www.nowcoder.net/acm/contest/75/A来源:牛客网题目描述夫夫有一天对一个数有多少位数感兴趣,但是他又不想跟凡夫俗子一样,所以他想知道给一个整数n,求n!的在8进制下的位数是多少位。输入描述:第一行是一个整数t(0接下来t行,每一行有一个整数n(0输出描述:输出n!在8进制下的位数。示原创 2018-02-07 17:33:22 · 553 阅读 · 0 评论 -
笨小熊【附易错点注释】
描述 笨小熊的词汇量很小,所以每次做英语选择题的时候都很头疼。但是他找到了一种方法,经试验证明,用这种方法去选择选项的时候选对的几率非常大! 这种方法的具体描述如下:假设maxn是单词中出现次数最多的字母的出现次数,minn是单词中出现次数最少的字母的出现次数,如果maxn-minn是一个质数,那么笨小熊就认为这是个Lucky Word,这样的单词很可能就是正确的答案。输入第一原创 2018-02-06 20:27:20 · 460 阅读 · 0 评论 -
C++使用sort函数时编写cmp函数的实例解读
每个PAT考生在参加考试时都会被分配两个座位号,一个是试机座位,一个是考试座位。正常情况下,考生在入场时先得到试机座位号码,入座进入试机状态后,系统会显示该考生的考试座位号码,考试时考生需要换到考试座位就座。但有些考生迟到了,试机已经结束,他们只能拿着领到的试机座位号码求助于你,从后台查出他们的考试座位号码。输入格式:输入第一行给出一个正整数N(考生信息之后,给出一个正整数原创 2018-01-31 16:56:54 · 977 阅读 · 0 评论 -
谁获得了最高奖学金【两种方法】
描述 某校的惯例是在每学期的期末考试之后发放奖学金。发放的奖学金共有五种,获取的条件各自不同: 1) 院士奖学金,每人8000元,期末平均成绩高于80分(>80),并且在本学期内发表1篇或1篇以上论文的学生均可获得; 2) 五四奖学金,每人4000元,期末平均成绩高于85分(>85),并且班级评议成绩高于80分(>80)的学生均可获得; 3) 成绩优秀奖,每人2000元,原创 2018-02-06 19:26:56 · 576 阅读 · 0 评论 -
1127: 电话号码
题目描述我们知道一个电话号码A是另一个电话号码B的前缀,B是不能被拨打的。举个例子,A是123,B是12345。当按下123后我们是给A打电话而不是给B。给出N个电话号码,你的任务是找出是否存在两个号码A和B,满足A是B的前缀。输入输入由几组数据组成。每一组的第一行有一个整数N (0N,表示电话号码的数量。接下来的N行,每行是原创 2018-01-20 11:10:18 · 771 阅读 · 0 评论 -
1147: How many integers can you find(附常见错误)
题目描述给你三个数,n,m1,m2,找出所有小于n的能被m1或m2整除的数的个数。输入输入包含多组测试数据,每组数据占一行。0输出每组数据输出占一行。样例输入12 2 3样例输出7提示来源王广威解题思路:这道题不能用穷举法,直接找m1或m2能整除的数有多少个,因为那样原创 2018-01-20 21:57:12 · 629 阅读 · 0 评论 -
2018年全国多校算法寒假训练营练习比赛(第三场)E---进击吧!阶乘(Java代码,另附Java解决大数问题的模板)
链接:https://www.nowcoder.net/acm/contest/75/E来源:牛客网题目描述给定一个整数N(0≤N≤10000),求取N的阶乘输入描述:多个测试数据,每个测试数据输入一个数N输出描述:每组用一行输出N的阶乘首先说下,因为大数类型的问题处理起来比较麻烦,比如加减还好说,乘的话还够呛,但是除的话就感觉不行了。大数还有大原创 2018-02-05 12:18:23 · 490 阅读 · 0 评论 -
2018年全国多校算法寒假训练营练习比赛(第三场)G大水题
链接:https://www.nowcoder.net/acm/contest/75/G来源:牛客网题目描述给出一个数n,求1到n中,有多少个数不是2 5 11 13的倍数。 输入描述:本题有多组输入每行一个数n,1输出描述:每行输出输出不是2 5 11 13的倍数的数共有多少。思路解析:这题想明白了,其实真的挺水的,每逢2个数就有一个能被2整除,原创 2018-02-04 17:05:58 · 620 阅读 · 0 评论 -
n-1位数【巧解】
难度:1描述 已知w是一个大于10但不大于1000000的无符号整数,若w是n(n≥2)位的整数,则求出w的后n-1位的数。输入第一行为M,表示测试数据组数。 接下来M行,每行包含一个测试数据。输出输出M行,每行为对应行的n-1位数(忽略前缀0)。如果除了最高位外,其余位都为0,则输出0。样例输入4102359239231000样例输出23923230来源[rooot]原创上传者ro...原创 2018-02-08 21:21:14 · 814 阅读 · 0 评论 -
日期计算【巧解】
描述 如题,输入一个日期,格式如:2010 10 24 ,判断这一天是这一年中的第几天。输入第一行输入一个数N(0<N<=100),表示有N组测试数据。后面的N行输入多组输入数据,每行的输入数据都是一个按题目要求格式输入的日期。输出每组输入数据的输出占一行,输出判断出的天数n样例输入32000 4 52001 5 42010 10 24样例输出96124297代码示例一:#i...原创 2018-02-08 20:13:45 · 559 阅读 · 0 评论 -
Problem G 【思路点拨和代码详细注释】-20180124下午实验室全体杭电比赛-算一下某人从出生到到达18岁生日时所经过的总天数
Problem DescriptionGardon的18岁生日就要到了,他当然很开心,可是他突然想到一个问题,是不是每个人从出生开始,到达18岁生日时所经过的天数都是一样的呢?似乎并不全都是这样,所以他想请你帮忙计算一下他和他的几个朋友从出生到达18岁生日所经过的总天数,让他好来比较一下。 Input一个数T,后面T行每行有一个日期,格式是YYYY-MM-DD。如我的生日是原创 2018-01-25 12:32:07 · 882 阅读 · 0 评论 -
C++向上取整,向下取整,四舍五入实例解读---L1-015. 跟奥巴马一起画方块
美国总统奥巴马不仅呼吁所有人都学习编程,甚至以身作则编写代码,成为美国历史上首位编写计算机代码的总统。2014年底,为庆祝“计算机科学教育周”正式启动,奥巴马编写了很简单的计算机代码:在屏幕上画一个正方形。现在你也跟他一起画吧!输入格式:输入在一行中给出正方形边长N(3输出格式:输出由给定字符C画出的正方形。但是注意到行间距比列间距大,所以为了让结果看上去更像正方形原创 2018-01-31 17:27:36 · 1018 阅读 · 0 评论 -
蛇形填数【附重点步骤详细注释】
描述 在n*n方陈里填入1,2,...,n*n,要求填成蛇形。例如n=4时方陈为:10 11 12 19 16 13 28 15 14 37 6 5 4输入直接输入方陈的维数,即n的值。(n输出输出结果是蛇形方陈。样例输入3样例输出7 8 16 9 25 4 3来源算法经典上传者首席执行官代码示例和注释#include//包含C++所原创 2018-02-08 19:07:08 · 949 阅读 · 0 评论 -
浅谈从C到C++的一些变化
虽然C语言里的东西基本上都可以直接用在C++程序里,但有些并不是C++的推荐写法。比如包含文件头时,虽说C语言的头文件可以直接原样不改地放在C++中使用,但是这并不是C++所推荐使用的。比如stdio.h要变成cstdio,虽说stdio.h在C++中仍然存在,但是C++推荐的所使用的文件头是cstdio。类似的,string.h变成了cstring,math.h变成了cmath。就是把后面的“....原创 2018-01-31 16:07:41 · 862 阅读 · 0 评论 -
C++ 获取UTF-8字符串中的字符个数以及将字符串中的字符全部提取出来再以字符为单位保存在向量中
场景:1.有时候需要统计utf8字符串的个数,单纯统计字节个数是不行的。static int GetUtf8LetterNumber(const char *s){ int i = 0, j = 0; while (s[i]) { if ((s[i] & 0xc0) != 0x80) j++; i++; } re...原创 2019-06-11 19:28:38 · 3617 阅读 · 0 评论 -
node.js中字符串和Json对象间的转换,Node.js中Json对象的序列化与反序列化
测试代码:// JSON.parse将字符串转换为对象var data = '{"name": "hxy", "age": 10}'console.log("data is ", typeof data, ", JSON.parse(data) is",typeof JSON.parse(data))console.log("JSON.parse(data)=",JSON.parse(da...原创 2019-06-08 00:11:25 · 1163 阅读 · 0 评论 -
输出一个随机字符串中的数字之和-Python
思路点拨随机给定的字符串中可能不仅包含数字字符,还包含其他类型的字符,我们现在需要把字符串中的数字全部提取出来,然后再进行求和。如’1asd22’,那么先把这个字符串中的1和22提取出来,然后进行求和,得到结果23。具体实现对这类特定数据提取的工作,使用正则表达式很方便。代码示例:import res = '123rrr1iii56oooo9'pat = re.compile('\...原创 2019-05-10 08:21:02 · 1384 阅读 · 0 评论 -
CCF CSP 201809-1 卖菜 题解
题目描述题目来源 :http://118.190.20.162/view.page?gpid=T79返回试题列表问题描述试题编号: 201809-1 试题名称: 卖菜 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 在一条街上有n个卖菜的商店,按1至n的顺序排成一排,这些商店都卖一种蔬菜。 ...原创 2018-12-01 00:35:50 · 790 阅读 · 0 评论 -
PAT6-2 多项式求值
1.题目描述题目来源:https://pintia.cn/problem-sets/14/problems/734基础编程题目集760 分函数题共 13 小题,共计 185 分 编程题共 38 小题,共计 575 分函数题 编程题6-2 多项式求值 (15 分)函数接口定义:double f( int n, double a[], double x );...原创 2018-11-30 23:20:58 · 618 阅读 · 0 评论 -
假设二叉树中每个结点的值为单个字符, 设计一个算法将一棵以二叉链方式存储的二叉树 b 转换成对应的顺序存储结构 a。——含具体实现工程
假设二叉树中每个结点的值为单个字符, 设计一个算法将一棵以二叉链方式存储的二叉树 b 转换成对应的顺序存储结构 a。——李春葆数据结构第五版第七章,P246,第十题思路解析:解:设二叉树的顺序存储结构类型为SqBTree,先将顺序存储结构a中所有元素置为‘#’(表示空结点)。将b转换成a的递归模型如下:f(b,a,i) -> a[i]='#'; 当b=NULLf(b,a,i) -...原创 2018-11-27 18:01:44 · 19893 阅读 · 0 评论 -
蓝桥杯:基础练习 查找整数
http://lx.lanqiao.cn/problem.page?gpid=T9题目描述 基础练习 查找整数 时间限制:1.0s 内存限制:256.0MB 问题描述给出一个包含n个整数的数列,问整数a在数列中的第一次出现是第几个。输入格式第一行包含一个整数n。第二行包含n个非负整数,为给定的数列,数列中的每个数都不大于10000。第...原创 2018-11-20 23:08:30 · 566 阅读 · 0 评论 -
蓝桥杯:入门训练 Fibonacci数列
题目描述http://lx.lanqiao.cn/problem.page?gpid=T4 入门训练 Fibonacci数列 时间限制:1.0s 内存限制:256.0MB 问题描述Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1。当n比较大时,Fn也非常大,现在我们想知道,Fn除以10007的余数是多少。输入格式...原创 2018-11-20 22:27:09 · 538 阅读 · 0 评论 -
网页地址编码解码(网页地址明文密文转换)url编码解码 Python3
一:url编码解码简介url编码解码,又叫百分号编码,是统一资源定位(URL)编码方式。URL地址(常说网址)规定了常用地数字,字母可以直接使用,另外一批作为特殊用户字符也可以直接用(/,:@等),剩下的其它所有字符必须通过%xx编码处理。 现在已经成为一种规范了,基本所有程序语言都有这种编码,如js:有encodeURI、encodeURIComponent,PHP有 urlencode、u...原创 2018-08-27 13:23:57 · 6430 阅读 · 0 评论 -
L1-040. 最佳情侣身高差【附C++如何保留几位小数,可设置为对一个对象或多个对象生效】
专家通过多组情侣研究数据发现,最佳的情侣身高差遵循着一个公式:(女方的身高)×1.09=(男方的身高)。如果符合,你俩的身高差不管是牵手、拥抱、接吻,都是最和谐的差度。下面就请你写个程序,为任意一位用户计算他/她的情侣的最佳身高。输入格式:输入第一行给出正整数N(<=10),为前来查询的用户数。随后N行,每行按照“性别 身高”的格式给出前来查询的用户的性别和身高,其中“性别”为“F”表示女性...原创 2018-02-06 20:50:19 · 1711 阅读 · 0 评论 -
IP的计算-HDUoj2206
Problem Description在网络课程上,我学到了很多有关IP的知识。IP全称叫网际协议,有时我们又用IP来指代我们的IP网络地址,现在IPV4下用一个32位无符号整数来表示,一般用点分方式来显示,点将IP地址分成4个部分,每个部分为8位,表示成一个无符号整数(因此不需要用正号出现),如192.168.100.16,是我们非常熟悉的IP地址,一个IP地址串中没有空格出现(因为要表示成一个...原创 2018-02-21 13:13:50 · 542 阅读 · 0 评论 -
C/C++给结构体里的变量数组的每一个元素赋初始值的实例L1-007. 念数字
输入一个整数,输出每个数字对应的拼音。当整数为负数时,先输出“fu”字。十个数字对应的拼音如下:0: ling1: yi2: er3: san4: si5: wu6: liu7: qi8: ba9: jiu输入格式:输入在一行中给出一个整数,如: 1234 。提示:整数包括负数、零和正数。输出格式:在一行中输出这个整数对应的拼原创 2018-01-31 17:08:19 · 2108 阅读 · 0 评论 -
【巧解】L1-003. 个位数统计【附思路点拨和重点步骤注释】
给定一个k位整数N = dk-1*10k-1 + ... + d1*101 + d0 (0i<=9, i=0,...,k-1, dk-1>0),请编写程序统计每种不同的个位数字出现的次数。例如:给定N = 100311,则有2个0,3个1,和1个3。输入格式:每个输入包含1个测试用例,即一个不超过1000位的正整数N。输出格式:对N中每一种不同的个位数字,以D:原创 2018-01-31 16:45:19 · 598 阅读 · 0 评论 -
1030: A+B Problem (I)(附:两种实现多组实例测试的方法)
题目描述Your task is to Calculate a + b. Too easy?! Of course! I specially designed the problem for acm beginners. You must have found that some problems have the same titles with this one, yes, all t原创 2018-01-12 19:21:54 · 1557 阅读 · 0 评论 -
1029: 用筛法求之N内的素数。(附常见的四种解决方案)
题目描述用筛法求之N内的素数。 输入N 输出0~N的素数 样例输入100样例输出2357111317192329313741434753596167717379838997提示来源代码示例一:使用穷举法,按照素数的定义,如果一个数除了1和它本身之外没有其他因数。我们就让原创 2018-01-12 18:14:14 · 6658 阅读 · 0 评论 -
1456 一维数组排序【使用sort函数巧解,以后再也不用写老长的冒泡排序代码了,附四种代码及如何新建C++代码源文件(最后一种时C中的qsort函数)】 Problem B
题目描述对一维数组按照从小到大的顺序排序。程序定义函数sort()来实现数组a的排序。函数原型如下:int sort(int a[], int n);数组元素的输出调用PrintArr()。输入第一行输入一个整数n(1输出输出占一行。对这n个整数数按照从小到大的顺序输出,数据之间用一个空格隔开。样例输入66 5 1 2原创 2018-01-06 20:49:11 · 2218 阅读 · 0 评论 -
1024: 明明的随机数(两种方法)
题目描述明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N≤100),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的学生的学号。然后再把这些数从小到大排序,按照排好的顺序去找同学做调查。请你协助明明完成“去重”与“排序”的工作。输入输入文件random.in 有原创 2018-01-12 09:41:01 · 5430 阅读 · 0 评论 -
1251: 斐波那契数列
题目描述斐波那契数列为:1,1,2,3,5,8,13.....,常规递推公式f(n)=f(n-1)+f(n-2);输入输入一个整数n(0输出输出第n个斐波那契数样例输入124样例输出125提示 第0项为1来源高乾坤#include#incl原创 2017-12-27 20:39:48 · 1119 阅读 · 0 评论 -
1020: 兄弟郊游问题(两种方法)
题目描述兄弟俩骑车郊游,弟弟先出发,每分钟X米,M分钟后,哥哥带一条狗出发。以每分钟Y米的速度去追弟弟,而狗则以每分钟Z米的速度向弟弟跑去,追上弟弟后又立即返回,直到哥哥追上弟弟时,狗跑了多少米?输入第一行输入一个整数N,表示测试数据的组数(N每组测试数据占一行,是四个正整数,分别为M,X,Y,Z(数据保证X<Y<Z)原创 2018-01-12 09:05:14 · 624 阅读 · 0 评论 -
Contest1100 - 软四课堂小测试4--问题 C: 回文数(函数专题)--2017-12-29
题目描述一个正整数,如果从左向 右读(称之为正序数)和从右向左读(称之为倒序数)是一样的,这样的数就叫回文数。输入两个整数m和n(m输入输入两个正整数m和n,输入保证m输出按从小到大的顺序,输出m到n之间的回文数,每个数后面有一个空格。样例输入100 200样例输出101 111 121 131 141 151 161原创 2018-01-03 10:52:10 · 829 阅读 · 0 评论 -
1008: 级数求和(附:在使用for循环里的表达式二进行判断时的注意事项【两种求解方法】)
题目描述已知:Sn= 1+1/2+1/3+…+1/n。显然对于任意一个整数K,当n足够大的时候,Sn大于K。现给出一个整数K(1输入键盘输入 k输出屏幕输出 n样例输入1样例输出2提示来源NOIP2002代码示例一:#includeint main(){原创 2018-01-12 08:38:36 · 1202 阅读 · 0 评论 -
Contest1100 - 软四课堂小测试4-1203-问题 A: 百鸡问题
题目描述 用小于等于n元去买100只鸡,大鸡5元/只,小鸡3元/只,还有1/3元每只的一种小鸡,分别记为x只,y只,z只。编程求解x,y,z所有可能解。输入 测试数据有多组,输入n。输出 对于每组输入,请输出x,y,z所有可行解,按照x,y,z依次增大的顺序输出。样例输入40样例输出x=0,y=0,z=100x=0,y=1,z=99x=0,y=2,z=98x=1,y=0,z=99提示不会出现给出的钱买不到100只鸡的情况!原创 2018-01-02 19:13:57 · 494 阅读 · 0 评论 -
1135: 3的倍数的排序问题(语言入门)
题目描述排序就是把数据,按照由小到大排列,或是由大到小排列。现在如果给N(0个数据,请把这N个数据中是3的倍数,先找出来,然后再按照由小到大排列的顺序印出这些数据。输入测试数据有多组。每个样本有两行,第一行是一个N,下一行是N个数字。数据中至少会有一个3的倍数。输出 每个样本恰有一行输出。输出数据中是3的倍数,而且要由原创 2017-12-24 19:53:45 · 966 阅读 · 0 评论