自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 收藏
  • 关注

原创 解决Error: Cannot find module ‘ D:\Program Files\nodejs\node_modules\npm\bin\npm-cli.js‘

Error: Cannot find module 'D:\Program Files\nodejs\node_modules\npm\bin\npm-cli.js'

2022-08-14 11:50:55 4413

原创 学习总结13

0-1背包Yuna traveled into the fantasy world. The gods of this world gave her a powerful set of equipment so that she could defeat many fierce monsters. However, she had limited health points and stamina, and she could not kill a large number of monsters.Ad

2022-01-02 18:32:05 431

原创 学习总结12

P1052 [NOIP2005 提高组] 过河在河上有一座独木桥,一只青蛙想沿着独木桥从河的一侧跳到另一侧。在桥上有一些石子,青蛙很讨厌踩在这些石子上。由于桥的长度和青蛙一次跳过的距离都是正整数,我们可以把独木桥上青蛙可能到达的点看成数轴上的一串整点:0,1,⋯,L(其中 L 是桥的长度)。坐标为 0 的点表示桥的起点,坐标为 L 的点表示桥的终点。青蛙从桥的起点开始,不停的向终点方向跳跃。一次跳跃的距离是 S 到 T 之间的任意正整数(包括 S,T)。当青蛙跳到或跳过坐标为 L 的点时,就算青蛙已经跳出

2021-12-26 17:09:41 277

原创 学习总结11

P1168 中位数给出一个长度为N的非负整数序列求出前1,3,5,…个数的中位数。思路:如果数据过大的话,操作不好会超时,所以在输入时直接二分查找给每个数确定位置并插入,保证数据从小到大,每到奇数就直接从数组中输出,使用STL中的vector来储存,插入时节约时间。#include <iostream>#include <cstdio>#include <vector>#include <algorithm>using namespace std

2021-12-19 19:51:48 279

原创 学习总结10

P1133 教主的花园教主有着一个环形的花园,他想在花园周围均匀地种上n棵树,但是教主花园的土壤很特别,每个位置适合种的树都不一样,一些树可能会因为不适合这个位置的土壤而损失观赏价值。教主最喜欢3种树,这3种树的高度分别为10,20,30。教主希望这一圈树种得有层次感,所以任何一个位置的树要比它相邻的两棵树的高度都高或者都低,并且在此条件下,教主想要你设计出一套方案,使得观赏价值之和最高。分别遍历以三种树作为第一棵树的情况,每种情况最多有四种可能:10-20-10、10-30、30-10、30-20-

2021-12-12 15:30:59 260

原创 学习总结9

P1126 机器人搬重物这是一道典型的bfs问题,数据量不大,时间方面卡得不严,但是细节比较多,需要仔细处理。开始做时,感觉比较简单,一套bfs直接写了下来,首先方向按照左西右东上北下南在平面上设x轴y轴,然后由题知,四条边界是不能走的,又因为机器人走的是交点,所以假设机器人走在交点左上角的方格里,这样好处理一些,又因为机器人可以一下直接走一步两步或者三步,但是分成三种情况太麻烦所以还是让机器人一下走一步但是加上一个判断条件,如果机器人在同一个方向走三步及以内总步数只加一。写完直接提交。结果没想到x轴

2021-12-05 14:56:00 44

原创 学习总结8

P7960 [NOIP2021] 报数【民间数据】该题题目大意为:给出一个数,判断该数是否为满足:1、不被7整除;2、十进制位数中不含有7;3、不被十进制位数中含有7的数整除。若满足找出下一个满足该条件的数,若不满足则输出-1。思路:开始时想到直接找出给出数的所有质因数,然后一个个判断是否含有7,结果无论怎么弄都是超时,后来一看数据时1e7想到了打表,不过还是超时,后来发现还得是打表+二分,而且第一次打表方法是1-1e7遍历一个个判断,而第二次是找出含有7的数然后找出其所有的在数据范围的倍数,这

2021-11-28 19:16:45 278

原创 学习总结7

P1120 小木棍题意:将给出的一组数全部利用并组合,构成多个特定数,问这个特定的数最小是多少。输入 #1复制95 2 1 5 2 1 5 2 1输出 #1复制6思路:读完该题后第一个想法是动态规划完全背包,不过这会失去很多种组合方法,导致不能合成特定数。所以后来还是想到遍历,遍历的话只能是用DFS了。但是由于数据量最大是65,所以DFS时剪枝必须要到位。然后开始分析,1 首先枚举该特定数的大小时从给定数组的最大数开始遍历,到给定数组的和的一半,因为超过一半后,就只能是数组的和不能被特定数整

2021-11-21 12:05:19 2613

原创 2021下半年学习总结6

P1073 [NOIP2009 提高组] 最优贸易由题知,该题需要满足一下几个条件:1、在给定的有向图中从1节点出发到n节点;2、到达一个有较大权值的节点,再到达一个有较小权值的节点,使得两者之差尽可能地大。刚开始直接否定了遍历,后来想到可以先计算出最大连通子图最大值和最小值保存,然后缩点,再从起点开始遍历。不过这样太麻烦,我也不会。然后仔细琢磨了一下题解,认为可以直接从起点dfs,加上一个限制条件:除终点外每个节点最多经过两次,在dfs途中找出最大差值。#include <iostream

2021-11-14 19:09:58 196

原创 新学期学习总结5

这一周继续做题,发现了自己很多的问题和不足需要改进。P1064 [NOIP2006 提高组] 金明的预算方案这是一道的背包题目,不过在原来完全背包的基础上增加了一些变化:每一件物品都有至多2个附件,只有加入该物品其附件才能加入。刚开始有点糊涂,直接把附件当做一个物品,每次加入背包都判断一下,然后就直接超时。后来看题解一想,其实可以每次判断主件是否需要加入背包时同时再判断加入0或者1或者2个附件是否会更好,这样既不会影响求背包又加快了速度。#include <iostream>#inc

2021-11-07 16:26:51 54

原创 新学期学习总结4

P1040 [NOIP2003 提高组] 加分二叉树二叉树遍历问题,题目要求根据给出的中序遍历,求出最大加分和对应的先序遍历。刚开始的思路是利用递归不断遍历出每一个根节点求出最大值,再利用该递归函数不断求出每一个根节点,并输出。#include <iostream>#include <cstdio>using namespace std;#define ll long longll n,s[50],jd[50],maxi=0;ll cjjd(ll l,ll r){

2021-10-30 22:52:05 52

原创 新学期学习总结3

线段树线段树是用树来储存数据的一种方法,将对数据的处理在树上实现,一般使用二叉树来实现,由于线段树的结构特性,可以缩短对数据的操作时长,使得程序在较短的时间内实现,满足题目的要求。它将一段区间划分为若干单位区间 ,每一个节点都储存着一个区间。支持区间求和,区间最大值,区间修改,单点修改等操作。线段树有分治思想。线段树的每一个节点都储存着一段区间的信息,其中叶子节点 L = R。它的大致思想是:将一段大区间平均地划分成 2 个小区间,每个小区间都再平均分成 2个更小区间,直到每一个区间的 L==R 。通过

2021-10-24 21:01:51 1172

原创 新学期学习总结2

KMP算法:字符串匹配,每当从某个起始位置开始一趟比较后,在匹配过程中出现失配,不回溯i,而是利用已经得到的部分匹配结果,将指针移到到某个位置后,继续按规则进行下一次的比较。如果j = -1,则i++,j++,继续匹配下一个字符;如果S[i] = T[j],则i++,j++,继续匹配下一个字符;如果j != -1,且S[i] != P[j],则 i 不变,j = next[j]。此举意味着失配时,接下来模式串T要相对于主串S向右移动j - next [j] 位。#include <iostre

2021-10-17 21:33:35 42

原创 新学期学习总结1

图的最短路最短路径常用四种方法;Floyd、Bellman-Ford、SPFA、Dijkstra。Floyd:图的规模小,需要判断负圈,多源最短路径,基于邻接矩阵,时间复杂度o(n^3)。Bellman-Ford:可以解决带有负权边的单源最短路径问题,基于邻接表,从边的角度考量的,对所有的边进行n-1次松弛操作。如果图中存在最短路径(即不存在负权回路),那么最短路径所包含的边最多为n-1条,需要判断负圈。SPFA:图的规模大,需要判断负圈,单源最短路径,时间复杂度o(m)到o(n*m)之间。Di

2021-10-10 15:47:12 50

原创 暑假学习记录

这个暑假不知道怎么就度过了,感觉没有做什么事,在家很不自律,有的时候还能集中注意力去学一些东西,但是过一会就被其他东西吸引了。 总的来说,感觉上是学习了,但是实际上没学到多少东西。 主要学习了书上的图论的割点和割边、双连通分量、无向图的连通性、有向图的连通性、2-sat问题、最短路、最大流和归并排序、分治法、减治法、快速排序、整除分块、st表等问题,然后复习了一下以前学过的算法,比如dp、dfs等等。 但是由于每天学的都比较少而且长时间不做这一块的题,或者是每天做题很少,开学时有的东西都忘了很多。.

2021-09-20 10:28:46 57

原创 HDU1160_ FatMouse‘s Speed

问题:给一组参数,每个参数两个数据,按照第一个数据严格减小,第二个数据严格增大求出满足条件的最长参数长度,并输出其输入时的序号。Sample Input6008 13006000 2100500 20001000 40001100 30006000 20008000 14006000 12002000 1900Sample Output44597#include <iostream>#include <algorithm>using namesp

2021-06-10 12:01:56 65

原创 一周学习总结9

二分查找二分搜索是一种搜索算法,用于在排序数组中查找元素的位置。这种方法,总是在数组的中间搜索元素。时间复杂度为o(logN)。可以实现复杂问题的快速搜索。不过,该算法要求必须在一个连续递增或递减的范围内进行,所以在做题前要判断题目是否满足该条件。该算法的基本代码为:while (low <= high){ mid = low + (high - low); if(pd(mid) == x) { low = mid + 1;

2021-05-23 10:44:22 50

原创 一周学习总结8

背包问题本周继续动态规划的学习,继经典dp和区间dp之后再学习背包问题。背包问题有0-1背包、完全背包、多重背包、分组背包。因为到了下半学期课程变少,一周做了相比之前更多的题目,总体感觉和之前的经典dp和区间dp是本质的是相同思路,即记忆化搜索,保存之前的方案,然后不断寻找最优解。0-1背包: 有N件物品和一个容量为V的背包。第i件物品的重量是w[i],价值是v[i]。求解将哪些物品装入背包可使这些物品的重量总和不超过背包容量,且价值总和最大。特点:每种物品只有一件,只有放或不放两种选择。子问题定

2021-05-16 15:56:54 87

原创 2021第一次省赛总结

今年第一次参加省赛,真的是太难受了!首先是比赛前理解错了参赛手册,误以为只有前74名才可以得奖,等到真正比赛是发现排名74的队伍已经AC4个题目了,而我们队伍还在思考第二三个问题并且没有任何思路,等到看榜的时候(这是另一个错误,比赛时一直刷榜看排名,乱自己的心态,而且盲目跟题也是不对的),自己队伍的士气一下子就消沉了不少,感觉平时做可以做出来的题也因为心态和意志的消极而迟迟想不出来思路。到最后一个半小时直接就有了一种放弃的感觉。直到结束才发现排名170多的队伍竟然也得奖了。当天下午直接…现在想想真的是应

2021-05-10 11:04:31 217

原创 一周学习总结7

动态规划学习是一个不断渐进的过程,经过一周的学习,对动态规划又有了新的认识。动态规划实质上是一种解决有重叠问题的方法,与贪心算法不同的是,贪心算法不需要关心之后的问题只需要找到当前问题的最优解,然后一步步求出最后结果;而动态规划则需要把所以子问题的结果保存在数组中遍历最后找到总体最优解,即记忆化搜索。动态规划解题过程需要以一个子问题为思考对象,找到该子问题所有情况以及与之后问题的联系,即递推,然后建立状态方程,初始化数组,然后遍历就可以了。区间dp区间dp感觉与线性dp相差不多,线性dp是以一个点

2021-04-25 13:07:30 87

原创 一周学习总结6

经典DP认识过程(续上)dp用来解决多个阶段的决策问题,即每个阶段都要做一个决策,全部的决策是一个决策过程,求一个最好的决策过程使得这个问题有最优解,将待求解的问题分为若干个相互联系的子问题,只在第一次遇到的时候求解,然后将这个子问题的答案保存下来,即只遍历一次。dp问题解题思路:1、分析问题是否具有最优子结构,若不具备则不能用dp。2、把问题分成多个子问题(状态)。3、建立状态转移方程(递推)。4、找出初始条件,把初始值代入方程。与贪心算法不同的是,贪心算法每次只需求出每一部分的最优解,而d

2021-04-17 23:21:37 58

原创 E. Tetrahedron

#include<iostream> using namespace std; #define ll long long #define mod 1000000007 int main() { ll n; cin>>n; ll a=1,b=0; for(int j=1; j<=n-1; j++) { a*=3; b=a-b; a%=mod; b%=mod; } while(b<0) b+=mod; cout << b%mod << endl; re

2021-04-16 08:52:12 33

原创 一周学习总结5

经典dp的认识过程在初步认识经典dp后,继续做题,不断寻找感觉,又有了新的了解 :dp是把许多种情况通过数组储存,不断寻找最优解的过程。只遍历给定数据一次,将各种情况储存入数组中,每一步对应的情况就是该步的状态,然后不断选择最优解,将上一步最优解与当前步进行判别,选择最符合题意的解,一步步求出最优方案。下面借助一个做过的题分析一下,题意: k个人去买票,可以自己单独买票,也可以和前面或后面的人一块买,每一种情况对应消耗不同的时间,要求求出消耗的最小时间。分析: 用一个二维数组dp[k][3

2021-04-10 17:48:19 43

原创 一周学习总结4

经典DP的认识过程上周学习了经典dp,唯一的感觉就是难,剩下啥也没有。。。课上听完老师讲课,一阵迷糊,感觉懵懵的,不知道怎么就推出了状态方程,然后初始状态也弄好了,我……课后又看了很多题目,搜了许多视频,一个人思考了很久,最后感觉终于抓住了一丝丝感觉,可又感觉啥也没有,最后只感觉整个人都不好了。。。然后就看到别人都已经AC了很多题心里直接慌了……觉得自己也可以先挑简单的题目做做找找感觉,边做边想已经了解的dp知识,做了几道题之后认识到经典dp题应该是把题目要求从头到尾在脑子里过一下,然后选择一个点

2021-04-10 17:13:20 48

原创 一周学习总结3

贪心算法本周还是进行了对贪心算法的学习,刷相关的题目。关于刷题有了一些新的思考和看法:1、要先了解题目要求,把握本质问题。2、然后思考如何做才能不会出现bug。要思考个个方面的问题,比如说不能超时,不能漏掉特殊情况之类的,有可以优化的地方尽力优化。3、然后用简洁的代码实现,这样会节约时间。4、最后仔细检查一下思路和代码是否出现问题,代码能否准确地实现思路。5、而且还要在以上条件满足的情况下尽可能地减少时间的消耗。这些需要不断地练习。不断地在做题中感悟,寻求最优解。可以在自己AC之后借鉴一下别

2021-03-27 23:20:21 46

原创 一周学习总结2

一周学习总结本周主要学习贪心算法,做了一些贪心算法的题,加深了对贪心算法的理解和应用。贪心算法理解起来并不困难,但在实际做题中比较难构思思路。自我感觉,贪心算法的学习应该是在做题中不断体会,加强发现发现问题本质和构思解题过程的能力。下面写几个感觉很典型的题目。1,假设海岸是一条无限的直线。海岸的一边是陆地,另一边是海洋。每个小岛都是海边的一个点。而任何位于海岸边的雷达装置只能覆盖d个距离,所以一个装置可以覆盖海上的一个岛屿,只要它们之间的距离不超过d。我们使用平面直角坐标系,用x轴来定义海陆交线

2021-03-20 19:08:02 267

原创 一周学习总结1补充

加快cin和cout速度iso::sync_with_stdio(false);cin.tie(0);cout.tie(0);文本替换typedef long long llll表示long long。产生0–(n-1)之间的随机整数#include <stdlib.h>#include <time.h>srand(time(0));x=rand()%n;运算符重载const bool operator<(struct_type &x)c

2021-03-13 21:19:21 151

原创 一周学习总结1

1. 加快cin和cout的速度 ios::sync_with_stdio(false);2.文本替换 define如:#define ll long long表示用ll代替long long,这样在写代码是就可以简便很多。3.STLset可以用来储存数据,并且可以自动排序,可以自主设计排序方式,默认从小到大排序并去除重复的数据;定义:set<数据类型>定义的变量名;操作:1.只能通过迭代器进行访问。set<定义的数据类型>::iterator 变量名=定义的

2021-03-13 17:09:27 1156 8

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除