上一页 1 2 3 4 5 6 7 8 9 ··· 18 下一页
摘要: 一、A题 解题思路 这个题把式子化简一下就可以得到了a[i]和a[j]为最小和最大值就行了,所以答案就是最小值和最大值的下标 代码实现 1 #include "bits/stdc++.h" 2 #define PII pair<int,int> 3 #define rep(i,z,n) for(in 阅读全文
posted @ 2022-03-25 19:55 scannerkk 阅读(22) 评论(0) 推荐(0)
摘要: 一、A题 题目意思是我做一次把某个区间逆转的操作,然后输出可能得到的最大的相邻两数之和。很明显,这个题无论如何都能让最大的和次大的两个数相加。因此我们只需要排个序,然后输出最大两个数的和就行了。 代码实现 1 #include "bits/stdc++.h" 2 #define PII pair<i 阅读全文
posted @ 2022-03-24 19:52 scannerkk 阅读(92) 评论(0) 推荐(0)
摘要: 一、题目描述 二、解题思路 这个题用常规的dp是行不通的,应为数据量太大了。那么应该怎么优化呢。 答案是采用矩阵优化 我们构造一个这样的矩阵,然后乘以以F1、F2构造得2*1的矩阵 为了发现规律,我们再乘一次 我们发现每一次左乘一个我们构造得这样的矩阵,我们都会得到下一个数列。分析下标关系可知,我们 阅读全文
posted @ 2022-03-23 22:02 scannerkk 阅读(65) 评论(0) 推荐(0)
摘要: 一、题目描述 二、解题思路 这题其实就是枚举每个位置,然后根据这个位置判断需要剔除几个人,反向思考,我们需要剔除几个人。 pos之前的部分做一个最长递增子序列的dp,用前面的总人数减去最长递增就是前面部分需要剔除几个人 pos之后的部分做一个最长递减子序列的dp,用前面的总人数减去最长递减就是后面部 阅读全文
posted @ 2022-03-23 21:51 scannerkk 阅读(46) 评论(0) 推荐(0)
摘要: 一、题目描述 二、解题思路 这道题是一个贪心的问题。不能想当然的直接按照面积直接装,因为箱子是一个整个的,不可以分开。 首先是6*6的箱子,你可以直接装 然后是5*5的箱子,你在装完一个5*5之后,最多只能再装11个1*1,是1*1尽量往这里面装。一直到5*5的箱子装完 然后是4*4的箱子,装完一个 阅读全文
posted @ 2022-03-23 21:46 scannerkk 阅读(262) 评论(0) 推荐(0)
摘要: 一、题目描述 二、解题思路 这题是一个概率DP题,我们考虑三种情况 我们用dp[i][j]代表i张印章能凑出j种,设p = 1 / n 显然第一种情况 当i<j时,dp[i][j]=0,因为不可能凑出j种 第二种情况 当j = 1时,此时选出的i张里面都是某一种,概率是(p^i),又因为可能都是n中 阅读全文
posted @ 2022-03-22 18:26 scannerkk 阅读(52) 评论(0) 推荐(0)
摘要: 一、题目描述 二、解题思路 每次插入一个元素我就进行一次堆的调整,不要存着最后再进行堆调整。用一个map记录每个元素在队中的位置,剩下的就是读入的问题了。 三、代码实现 1 #include "bits/stdc++.h" 2 using namespace std; 3 const int inf 阅读全文
posted @ 2022-03-20 22:00 scannerkk 阅读(105) 评论(0) 推荐(0)
摘要: 一、学习进度 1.本周看了一下java的面向对象,然后配置了一下java fx的环境 2.PTA刷到了指定要求 3.写了PTA的L2的大部分的题解 4.打了一场新星杯,还是有点菜,有个题一直卡在没有加,而是一直赋值。 二、总结 本周的学习进度有点慢,不怎么想看书,最近开始看视频学java了,东西有点 阅读全文
posted @ 2022-03-20 20:42 scannerkk 阅读(24) 评论(0) 推荐(0)
摘要: 一、题目描述 二、解题思路 我们枚举n的因子,然后枚举这个因子的最大长度,然后做个标记。最后在输出答案的时候反推就可以了。 三、代码实现 1 #include "bits/stdc++.h" 2 #define PII pair<int,int> 3 #define rep(i,z,n) for(i 阅读全文
posted @ 2022-03-19 16:27 scannerkk 阅读(187) 评论(0) 推荐(0)
摘要: 一、题目描述 二、解题思路 这里我们直接枚举1的个数,然后看看是否能够整除,就是个大数除法的内容。这里注意中间可能有为0的情况,列如530 / 5 = 106中间这个0要注意。 这里大数除法是这样进行的。 比如说123 / 5 第一次1 / 5为0,那么第一个就为0,余数为1 第二次利用上次的余数* 阅读全文
posted @ 2022-03-19 16:23 scannerkk 阅读(122) 评论(0) 推荐(0)
上一页 1 2 3 4 5 6 7 8 9 ··· 18 下一页