
算法刷题笔记
IRONFISHER
这个作者很懒,什么都没留下…
展开
-
蓝桥杯受伤的王后题解(回溯法)
题目本身是回溯法的一种变式。今天趁这个机会回顾了一下回溯法的代码。#include <iostream>#include<vector>#include<algorithm>using namespace std;bool place(vector<int>position,int pos){ int i=1; while(i<pos){ if ((position[i]==position[pos])||((abs(po原创 2022-02-16 20:47:29 · 7312 阅读 · 1 评论 -
蓝桥杯跳跃题解分析
题目分析:这是一题典型的动态规划问题,其中关键点是边缘值的选择。这题比较好的解法是用遍历的方法,因为如果采用递归的话对于边界值以及记录不是很方便,我的解法如下:#include <iostream>#include<vector>#include<algorithm>using namespace std;int main(){ // 请在此输入您的代码 int n,m; cin>>n>>m; vector<ve原创 2022-02-16 16:11:21 · 673 阅读 · 0 评论 -
Leetcode T198 T55 动态规划方法对比
动态规划刷题总结,其中对比了两种方法与leetcode的两道题。原创 2021-12-20 20:30:46 · 199 阅读 · 0 评论 -
20200901CCFCSP100分对称点查询(重载,类)
简单的用了重载运算符和sort函数,核心定义如下。重载运算符:bool operator <(const pointer& a){if(this->index<a.index){//如果index较小,那距离小于等于就可以视作小于,在sort的时候就能排序出来。return (this->dis<=a.dis);} else {return (this->dis<a.dis);}};全部代码如下#include<iostream&g原创 2021-12-05 10:59:36 · 571 阅读 · 0 评论 -
CCFCSP202109-2直接70分解法C++
2021_9第二题代码70分这题没有想到比较好的100分解题思路。但是编译的时候还是有些地方错了,需要小心。题目链接在编码的时候碰到了问题。首先using namespace std切记一定要加!不然就会编译错误!然后,定义变量统一在开头!自己是因为忘了定义sumer结果编译出错又找了好久,另外在打for这些打时候同时要打{}以免忘记。<=和>=不要打错,先比较后等号。编码的时候一定要关注核心逻辑,得10分一般都是IO以及判断部分没有问题,数据处理与生成的逻辑有问题。当然拿到题原创 2021-11-24 21:08:49 · 416 阅读 · 0 评论 -
CCFCSP2020062稀疏向量C++100分(运算符重载与排序)
题目链接题目知识点:运算符重载STL(vector)Sort函数类这题也比较简单,首先读题,需要看清楚输入数字的范围。因为在78910这4个检测点中n≤109n\leq10^9n≤109且a,b≤5∗105a,b\leq 5*10^5a,b≤5∗105,因此输入数据的时候要注意,计算的时候结果最好用最大的long long int,这样就能尽量保持不溢出。当然如果再大用到大数加减法的话难度就会激增了。另外在写代码的时候,开头比如说#include<vector>#includ原创 2021-11-20 18:29:02 · 991 阅读 · 0 评论 -
期末预测阈值C++代码实现100分(STL、动态规划、重载)
这个周末做了最佳阈值这道题,C++实现,时间使用156ms,空间使用4.117MB。题目链接:题目解析如下:第二题一般需要用到快速排序、归并排序等复杂度为O(nlogn)的算法,这种算法在考试的时候直接手写十分麻烦,而且容易出错,所以说我们一般采用Sort函数。而Sort函数通常可以用于数组、Vector等类中,但是题目每一个输入对象拥有两个子变量,一个是θ\thetaθ,另一个是resultiresult_iresulti,因此我们还是要对输入建立一个score类,如果要用vector储存这个类,原创 2021-11-20 16:38:13 · 712 阅读 · 0 评论