- 博客(29)
- 收藏
- 关注
原创 c++课堂——基本知识(函数与表达式):第一讲
在C++语言中,函数是具有独立功能的一段程序,它由两部分组成:自变量(也数)和函数名。在使用函数时,用户不必关心函数的功能是如何实现的。一个函数能够完成一个功能,各个函数之间可以相互调用,这样就可以把一个大型程序分成若干个独立的模块,然后分别由各个函数实现。这样,复杂的问题简单化,提高了程序的可读性、可维护性和可移植性。在C+标准库中,包含了许多常用的数学函数,为用户设计程序提供了方便。一个C+程序由一个主函数和其他函数组成,主函数是程序的人口,必须有且只能有一个。函数的一般形式为:函数名(形式参数表)
2024-06-24 10:38:46 171
原创 P5717 【深基3.习8】三角形分类
给出三条线段 a,b,ca,b,c 的长度,均是不大于 10000 的正整数。打算把这三条线段拼成一个三角形,它可以是什么三角形呢?通过上面的公式,我们知道了判定条件,所以只需要写if.....else就可以了。如果这个三角形符合以上多个条件,请按以上顺序分别输出,并用换行符隔开。当两短边的平方和大于一长边的平方,说明是锐角三角形。当两短边的平方和等于一长边的平方,说明是直角三角形。当两短边的平方和小于一长边的平方,说明是钝角三角形。
2024-05-04 16:04:15 383
原创 c++课堂——基本知识(常量与变量)
命名规则:c++规定的变量名由字母,数字,下划线组成,并且只能由下划线和字母开头,大小写要注意,不能使用关键字和保留字命名。
2024-04-29 15:39:53 357 1
原创 c++课堂——动态规划
动态规划,英文是Dynamic Programming,简称DP,擅长解决“多阶段 决策问题”,利用各个阶段的递推关系,逐个确定每个阶段的最优决策,并最终得到原问题的最优决。到 (i,j) 就是一个决策,我们用 dp(i,j) 来代表走到点 (i,j) 一共花费的最少体力。那么点 (i,j) 要么是从 (i−1,j) 走到 (i,j),要么是从点 (i,j−1) 走到所以从哪个点走。= dp2+dp1就不成了,所以,要一定保证,每个阶段的决策仅受之前决策的影响,但不影响之后阶段的决策。
2024-04-28 17:39:53 1085
原创 c++课堂——贪心算法
贪心算法没有固定的算法框架,算法设计的关键是贪心策略的选择。问题是否适合采用贪心算法策略,找到的解是否一定是问题的最优解。利用可行的决策,求出可行解的一个解元素;4.把子问题的解局部最优解合成原来解问题的一个解。心算法不是对所有问题都能得到整体最优解,选择的贪心策略必须具备无后效性,即某个状。3.对每一子问题求解,得到子问题的局部最优解。while (能朝给定总目标前进一步){不从整体最优上加以考虑,他所做出的仅是在某种意义上的局部最优解。的策略来达到全局最优解,因此,一定要注意断。
2024-04-25 16:37:03 593
原创 P2772 寻找平面上的极大点
在一个平面上,如果有两个点(x,y),(a,b),如果说(x,y)支配了(a,b),这是指x>=a,y>=b;给定n个点的集合,一定存在若干个点,它们不会被集合中的任何一点所支配,这些点叫做极大值点。用图形来看就是(a,b)坐落在以(x,y)为右上角的一个无限的区域内。编程找出所有的极大点,按照x坐标由小到大,输出极大点的坐标。此题为贪心,我们排序完之后就可以按栈来储存。
2024-04-21 16:59:35 149
原创 P4995 跳跳!
这一天,你和朋友小 F 一起出去玩耍的时候,遇到了一堆高矮不同的石头,其中第 ii 块的石头高度为 h_ihi,地面的高度是h0=0。你估计着,从第 ii 块石头跳到第 jj 块石头上耗费的体力值为 (h_i - h_j) ^ 2,从地面跳到第 ii 块石头耗费的体力值是 (hi) ^ 2。小 F 给你递来了一个写着 AK 的电脑,你可以使用计算机程序帮你解决这个问题,万能的计算机会告诉你怎么跳。为了给小 F 展现你超级跳的本领,你决定跳到每个石头上各一次,并最终停在任意一块石头上,并且小跳蛙想耗费。
2024-04-21 14:24:16 140
原创 P1223 排队接水
有 n 个人在一个水龙头前排队接水,假如每个人接水的时间为 Ti,请编程找出这 n 个人排队的一种顺序,使得 n 个人的平均等待时间最小。输出文件有两行,第一行为一种平均时间最短的排队顺序;第二行为这种排列方案下的平均等待时间(输出结果精确到小数点后两位)。第二行 n 个整数,第 i 个整数 Ti 表示第 i 个人的接水时间 Ti。第一行为一个整数 n。
2024-04-20 15:20:11 111
原创 c++课堂——高精度第一讲
为什么C++需要高精度计算?这个问题对于C++来说,是一个比较尴尬的问题。因为 Java和Python是不需要高精度计算的, 因为这两个语言直接支持高精度数据。•从C++的角度回答这个问题,我们首先要从C++的基础知识来 看,也就是 C++的数据类型可以表示的范围。下表是C++常用 的数据类型的字节大小和数值范围。我们针对 G++来说明这个问 题,因为在不同类型的编译器里,相同数据类型的大小是不一样 的。从上表,我们可以清楚。
2024-04-20 12:08:21 353
原创 mjyleon的博客系列作品
1.c++讲题小课堂系列目录2.python小课堂(海龟)3.c++课堂4.粉丝福利(1)5.粉丝福利(2)6.粉丝福利(3)粉丝够220给福利!
2024-04-19 15:32:15 1567
原创 P1036 [NOIP2002 普及组] 选数
已知 n 个整数x1,x2,⋯,xn,以及 11 个整数k(k<n)。从 n 个整数中任选 k 个整数相加,可分别得到一系列的和。例如上例,只有一种的和为素数:3+7+19=29。现在,要求你计算出和为素数共有多少种。
2024-04-16 15:47:44 154
原创 P5729 【深基5.例7】工艺品制作
现有一个长宽高分别为 w,x,h 组成的实心玻璃立方体,可以认为是由 1×1×1 的数个小方块组成的,每个小方块都有一个坐标 (i,j,k)。每次切割给出 (x1,y1,z1),(x2,y2,z2) 这 6 个参数,保证x1≤x2,y1≤y2,z1≤z2;换句话说,所有满足 x1≤i≤x2,y1≤j≤y2,1≤k≤z2 的小方块 (i,j,k) 的点都会被激光蒸发。给出参数 (1,1,1),(2,2,2)时,中间的 8 块小方块就会被蒸发,剩下 56 个小方块。
2024-04-16 15:46:33 191
原创 c++难题
给一个长度为nn的数列a1,a2,…,an,对于任意1≤l≤r≤n,都可求得al+al+1+…+ar所有子区间和中最大的,称为最大子区间和。现在你有kk次交换任意两个数的机会,求通过操作能得到的最大子区间和。
2024-04-14 15:45:26 213 2
原创 P2552 [AHOI2001] 团体操队形
有 nn 个团体操队员编号分别为 1∼n。其队形(分连续队形和梅花桩队形)可以按行排列或者按列排列,按行(列)排列时每行(列)有 r 个位置。接下来 k 行,每行都有五个整数,分别表示队伍里的人数、队形代号(11表示连续队形,而22表示梅花桩队形)、排列方式(11表示按。排列)、每行(列)的位置数、和询问位置的队员的编号。例3:n=16,r=7,梅花桩队形按行排列。例1:n=16,r=6,连续队形按行排列。例2:n=16,r=3,连续队形按列排列。例4:n=1,r=5,梅花桩队形按列排列。
2024-04-13 16:23:49 201
原创 P1873 [COCI 2011/2012 #5] EKO / 砍树
伐木工人 Mirko 需要砍 M 米长的木材。对 Mirko 来说这是很简单的工作,因为他有一个漂亮的新伐木机,可以如野火一般砍伐森林。不过,Mirko 只被允许砍伐一排树。Mirko 的伐木机工作流程如下:Mirko 设置一个高度参数 H(米),伐木机升起一个巨大的锯片到高度 H,并锯掉所有树比 H 高的部分(当然,树木不高于 H 米的部分保持不变)。Mirko 就得到树木被锯下的部分。
2024-04-12 17:00:57 218
原创 P1205 [USACO1.2] 方块转换 Transformations
一块 n \times nn×n 正方形的黑白瓦片的图案要被转换成新的正方形图案。单独的一行包括 1∼7 之间的一个数字(在上文已描述)表明需要将转换前的正方形变为转换后的正方形的转换方法。组合:图案在水平方向翻转,然后再按照 1∼3 之间的一种再次转换。反射:图案在水平方向翻转(以中央铅垂线为中心形成原图案的镜像)。转 180\degree180°:图案按顺时针转 180°。转 270\degree270°:图案按顺时针转 270°。对于 100\%100% 的数据,1≤n≤10。,表示初始的正方形。
2024-04-12 16:33:28 132
关于oj.hetao101.com的中级组水题
2024-04-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人