02 2022 档案
摘要:题目描述 给定一个字符串,连续相邻超过1个以上的字符可以消除,每次进行消除操作前可以在任意位置插入'A','B','C',任意一个字符,问应该如何插入,在进行一系列消除操作之后,使得原字符串中被消除的字符最多。 分析 模拟+暴力枚举 遍历字符串的每一个位置,在该位置分别尝试插入'A','B','C'
阅读全文
摘要:插入 基本语法 INSERT INTO < 表名 > [(< 属性列 1>[ , < 属性列 2 >…)] VALUES (< 常量 1> [ , < 常量 2>] … ); 插入元组 将一个新学生元组(学号: 200215128 ;姓名: 陈冬;性别:男;所在系: IS ;年龄: 18 岁)插入到
阅读全文
摘要:概述 视图,可以让我们看数据库更简单,视图提供了一种可以让我们只关注基本表的某一个方面的机制,将基本表在逻辑上重新组织,让用户看着更简单,然后在这上面去做查询和其他操作。 视图是外模式的概念,可以从用户角度重新组织数据库,让用户使用起来更方便,而从视图到基本表之间存在映射。 定义视图 基本语法 CR
阅读全文
摘要:并UNION 查询计算机科学系的学生及年龄小于 19 岁的学生 方法一: SELECT * FROM student WHERE Sdept='CS' OR Sage<19; 方法二: SELECT * FROM student WHERE Sdept='CS' UNION SELECT * FRO
阅读全文
摘要:嵌套查询概述 一个 SELECT-FROM-WHERE 语句称为一个查询块,将一个查询块嵌套在另一个查询块的 WHERE 子句 或 HAVING 短语的条件中的查询称为嵌套查询 不相关子查询 子查询的查询条件不依赖父查询 相关子查询 子查询的查询条件依赖父查询 带有IN谓词的子查询 查询与“张三”在
阅读全文
摘要:等值连接 查询每个学生及其选修课程的情况 SELECT student.*, sc.* FROM student, sc WHERE student.`Sno`=sc.`Sno`; 对上例进行自然连接,消除重复Sno列 SELECT student.*, sc.`Cno`, sc.`Grade` F
阅读全文
摘要:差分约束系统 参考:https://www.cnblogs.com/genius777/p/9163103.html 差分约束系统只是对最短路算法的一种应用,没有什么新的算法,只是对于具体问题的建图方法的确定 差分约束系统解决的问题是不等式组的求解: X1 - X2 ⇐ 0 X1 - X5 ⇐ -1
阅读全文
摘要:给定n行整型数据,对其进行排序,排序规则是:比较第一个数字,第一个数字大的排在前面,第一个数字相同再比较第二个数字,以次类推 可直接对vector进行排序 定义vector类型数组vt[MAXN],其中数组的每一个元素是一个vector,定义比较函数直接对vector进行排序即可 #include
阅读全文
摘要:统计字符串中的单词,删除重复,并按字典序输出 使用set,遍历字符串,定位出单词的位置,使用substr截取单词,insert到set中,输出set即可 注意1 使用getline(cin, str)的时候,如果前面有输入数字,需要添加getchar()吸收缓冲区中的换行符 注意2 当输入只有一个单
阅读全文
摘要:题目描述 招募n名女兵和m名男兵,招募每名士兵需要花费10000元,但如果男兵和女兵存在亲密度为d的关系,则当招募其中一名后,招募另一名只需要花费10000-d元,现给出男兵和女兵的关系,求出招募最小花费 分析 最小生成树 要求最小花费,则需要男女兵之间的亲密度越大越好,即求最大生成树,可以将边权变
阅读全文
摘要:求次短路径长度 这道题的做法和最短路径基本一致,唯一的不同点在于,在求出最短路径的情况下必须要保留下次短路径。对于Dijkstra判断中取出的每一个点,如果到它的最短距离大于当前该点的次短距离,则当前该点已经取到最短距离和次短距离,不进行操作,否则进行两次判断:如果小于最短边,则赋给最短变,并将原最
阅读全文
摘要:《挑战程序设计竞赛》——并查集 题目描述 有n个动物,属于A,B,C三个种类,A吃B,B吃C,C吃A,编号为1~n,给定k句话,求假话的个数 两种说法 1 x y:x和y同类 2 x y:x吃y 假话 当前的话与前面的某些真的话冲突,就是假话 当前的话中X或Y比N大,就是假话 当前的话表示X吃X,就
阅读全文
摘要:《挑战程序设计竞赛》 一条路上设置n个加油站,每个加油站能够提供ki个单位的油。一辆车以初始油量P从起点出发,求其到达终点停下加油的最小次数,若不能到达终点,则输出-1 #include<stdio.h> #include<iostream> #include<algorithm> #include
阅读全文
摘要:基本语法 SELECT [ALL|DISTINCT] < 目标列表达式 > [ , < 目标列表达式 >] … FROM < 表名或视图名 >[ , < 表名或视图名 > ] … [ WHERE < 条件表达式 > ] [ GROUP BY < 列名 1> [ HAVING < 条件表达式 > ]
阅读全文
摘要:创建表 Student CREATE TABLE Student( Sno CHAR(9) PRIMARY KEY, /*列级完整性约束,Sno为主码*/ Sname CHAR(20) UNIQUE, /*列级完整性约束,Sname唯一*/ Ssex CHAR(2), Sage SMALLINT,
阅读全文
摘要:题目描述 给定一块木板,求分割成n块木板所需要的最小代价,其中分割一块木板所需要的代价为木板长度 分析 贪心策略 可将分割木板问题理解为组合木板问题,给定n块木板长度,将其合并成一块木板所需要的最小代价。可将此问题分解成若干子问题,每次选取两块木板合并,而子问题的最优解为每次选取最小的两块木板组合,
阅读全文
摘要:贪心策略 将整个问题分解成多个子问题,求每个子问题的最优解 先排序,最左端点右侧r范围内最远点选定为标记点,此后一个邻接点为下一个子问题最左端点 #include<stdio.h> #include<iostream> #include<algorithm> using namespace std;
阅读全文
摘要:题目描述 给定一个长度为n的字符串s,将s重排得到字符串t,使得字符串t的字典序最小,且只能使用下面两种操作 从s的头部取一个字符放在t末尾 从s的尾部取一个字符放在t末尾 分析 贪心策略 最直接的想法,比较s的头部字符和尾部字符,将较小的插入到t末尾。 但存在一个问题,当s头部字符和尾部字符相同时
阅读全文
摘要:给定一个图,'.'表示陆地,'W'表示有水,求水洼的数量 遍历图,若遍历到'W'则进行深搜,将该点置为'.',遍历该点所有邻接点,若为'W'则继续深搜 在遍历图的过程中进行调用dfs的次数即为水洼数(怎么感觉像求连通分量......) #include<stdio.h> #include<iostr
阅读全文
摘要:以听课为主,附带做了课中所有的例题。对基础数据结构,如:线性、非线性数据结构、图论,进行了巩固。对之前自己薄弱的算法思想和代码进行了初次学习,如:动态规划、递归分治、贪心、搜索。下一步需要针对薄弱点、难点进行大量练习。 以下是学习过程中制作的知识点思维导图
阅读全文
摘要:0-1背包 有一堆物品,每个物品都有其重量和价值,现在有一个只能容纳10kg物品的背包,选择装入一些物品,使得背包中的物品价值最大 DPi,j表示前i个物品,装进容量为j的背包所获得的最大价值 w[i]为第i件物品的重量 v[i]为第i件物品的价值 朴素递归 时间复杂度O(2n) #include<
阅读全文
摘要:动态规划 求解优化问题的方法 小心+暴力搜索 子问题+复用 递推求解:求fibonacci数列 朴素递归 时间复杂度O(2n) int Fibonacci1(int n){ int answer; if(n == 0 || n == 1){ answer = n; } else{ answer =
阅读全文
摘要:poj3299:Humidex 题目很长,主要考数学和耐心... 给定一个公式,里面含有3个变量,给定其中任意两个求第三个,最后把3个变量都输出出来 #include<stdio.h> #include<iostream> #include<math.h> using namespace std;
阅读全文
摘要:分治与贪心 分治 贪心策略 step1 分:问题分解 问题分解为多个子问题 step2 治:逐个击破 子问题求局部最优解 step3 合:合并求解 局部最优解进行组合 对于分治,问题分解之后可能还需要继续分解。对于贪心策略,子问题将无需继续分解。 实列 快速排序算法就用到了分治策略 求解Fibona
阅读全文
摘要:求xn 朴素方法 遍历从1到n的所有数然后累乘即可 int simplePower(int x, int n){ int answer = 1; for(int i = 1; i <= n; ++i){ answer *= i; } return answer; } 时间复杂度为O(n) 快速幂 原
阅读全文
摘要:题目描述 Assume the coasting is an infinite straight line. Land is in one side of coasting, sea in the other. Each small island is a point locating in the
阅读全文
摘要:poj3104:Drying——贪心(二分+判定) http://poj.org/problem?id=3104 Jane wants to perform drying in the minimal possible time. She asked you to write a program t
阅读全文
摘要:poj2456:Aggressive cows——贪心(二分+判定) http://poj.org/problem?id=2456 Farmer John has built a new long barn, with N (2 ⇐ N ⇐ 100,000) stalls. The stalls a
阅读全文
摘要:参考视频教程:https://www.bilibili.com/video/BV1da4y1p7iZ?share_source=copy_web 在线工具:https://regex101.com/ 限定符 限定字符或字符串的出现次数 ? 前面的字符出现0次或者1次 * 前面的字符出现0次或者多次
阅读全文