- 博客(9)
- 收藏
- 关注
原创 P1008 [NOIP1998 普及组] 三连击
而全排列问题是一道很经典的问题,符合深搜的逻辑,精髓是用深搜递归n重循环(深搜复杂度O(n!),本题只有九重,所以复杂度为9!=362880,不超时),判断不重复,标记后,求出具体的排列。,9 共 9 个数分成 3 组,分别组成 3 个三位数,且使这 3 个三位数构成 1:2:3 的比例,试求出所有满足条件的 3 个三位数。这道题的总体思路就是求出1-9的全排列并将其存在字符串中,分割字符串,求出值(由于不需要输出9的全排列,所以会快很多)
2024-09-05 13:15:00
398
原创 P1037 [NOIP2002 普及组] 产生数
(变化规则示例:2 4表示数字“2”可以变化为数字“4”)设结构体数组f(或使用pair)存储,深搜一遍,将变化字符串存入集合st中,最后输出st中字符串数字(由于集合可以自动去重,所以可以统计不重合方案数)高精度的精髓就是用数组来表示数,数组第i位表示数字第i位(但是为了方便计算,通常将数组表示反转),这里只介绍高精*低精的代码。但是我们知道乘法的增长是恐怖的,按照规定的数据范围,无法保证是否可以用以上常用的数据存储范围来存储答案。“2”的变化方案数*“3”的变化方案数*“4”的变化方案数。
2024-08-30 13:35:25
984
原创 P1022 [NOIP2000 普及组] 计算器的改良
解方程中必须保留(在筛选分类时可以把含有未知数的项移到vector动态数组a,把常数项移到vector动态数组b,就可以被视为移项)方程中没有括号,也没有除号,方程中的字母表示未知数,该方程有唯一解)我们默认含有未知数的项在等号左边,常数项在右边,所以当一个项在其所属方向异侧移动时,需要变号。给出一个合法的一元一次方程,求它的解(注意,方程只包含整数、小写字母及。类似a+3a=4这一类的方程,可以注意到,‘1’被省略了,所以需要特判。(如果有括号,或去分母后产生括号,那么为了合并同类项先把括号去掉)
2024-08-28 16:20:10
512
原创 P1003 [NOIP2011 提高组] 铺地毯
接下来的n 行中,第 i+1 行表示编号 i 的地毯的信息,包含四个整数 a,b,g,k,每两个整数之间用一个空格隔开,分别表示铺设地毯的左下角的坐标(a,b) 以及地毯在 x 轴和 y 轴方向的长度。现在将这些地毯按照编号从小到大的顺序平行于坐标轴先后铺设,后铺的地毯覆盖在前面已经铺好的地毯之上。一个示例的矩形如上图,通过四个数据,可以把四个顶点算出来,然后判断该点是否在矩形范围之内,如果有,则更新这个点的地毯编号值(初始设为-1)想知道覆盖某个点的最上面的那张地毯的编号。
2024-07-30 18:45:11
413
原创 P1002 [NOIP2002 普及组] 过河卒
根据题目,可以设置一个long long类型二维数组dp来存储信息,dp[i][j]表示(i,j)的路径条数,根据题意,我们可以得出dp[i][j]=dp[i-1][j]+dp[i][j-1],即两种方案相加所得到新方案路径之和。但是随之而来造成了一个问题:当i或j本身为0时,再访问dp[i-1][j]或dp[i][j-1]时,下标则为-1,会造成。(0,0)向B点走,且不能碰到马的“控制点”(即该马所在的点和所有跳跃一步可达的点),求到B点的路径条数,应该是从0开始,到9结束,与生活习惯中的1。
2024-07-29 19:10:21
333
原创 P5661 [CSP-J2019] 公交换乘
本题时间限制n<=10^5,若从头开始扫描数组,则极易超时,究其原因,是不用的票造成的极大时间浪费,所以可以用一个head变量,先扫出超时的优惠券,再从head对应下标开始扫描,就不会tle。接下来的 𝑛行,每行包含 3 个整数,相邻两数之间以一个空格分隔。第 𝑖行的第 1 个整数代表第 𝑖条记录乘坐的交通工具,和dfs和bfs类似,访问过的优惠券就不能再次访问,所以应当设置布尔型vis数组标记是否访问过,如果没有访问,才可以继续。输入文件的第一行包含一个正整数 𝑛,代表乘车记录的数量。
2024-07-26 18:07:56
503
原创 P8813 [CSP-J 2022] 乘方
中,pow函数用于计算一个数的任意次幂,其函数原型为long double pow(long double X, long double Y),或者long double pow(long double X, int Y),其中X是底数,Y是指数。分多步进行运算,将a^b转换为b次a的累乘操作,中间如果超过int类型极限,输出-1终止程序,若程序进行至最后,输出答案。输入两个正整数a,b,判断a^b是否超过int类型的表示范围,如果是,输出-1,否则输出a^b的值。或使用中的。
2024-07-26 17:29:42
514
原创 数据主义:c++草履虫(1.0)
看《未来简史》讲到数据主义,其信奉算法是一切,这里,姑且做一个小尝试,用c++模拟一只十分生硬的草履虫吧...
2024-02-19 20:03:55
560
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人