
算法
算法
find it %%
i
展开
-
set存放结构体应用
昨天做题发现,set里面放结构体,这怎么判断重复元素,所以还是自己积累的不够多,我直接上代码,估计很容易看懂,具体就不再解释了#include <iostream>#include <bits/stdc++.h>using namespace std; struct x{ int a; int b; bool operator <(const x& d1)const{ if (a < d1.a ) { return 1; }原创 2022-04-07 19:39:55 · 646 阅读 · 0 评论 -
dp状态压缩(转载)
(2条消息) 状态压缩DP入门_ltrbless的博客-优快云博客_状态压缩dp入门这篇大佬的博客很好理解dp转载 2022-04-05 16:59:26 · 149 阅读 · 0 评论 -
第十届蓝桥杯(省赛c++)
真题训练目录1.(5分)2.(5分)3.4.(10分)5.(15分)6.(15分)7.(15分)8.(20分)9.(25分)1.(5分)问题描述 小明对数位中含有 2、0、1、9 的数字很感兴趣(不包括前导 0),在 1 到 40 中这样的数包括 1、2、9、10 至 32、39 和 40,共 28 个,他们的和是 574。请问,在 1 到 n 中,所有这样的数的和是多少?输入格式 输入一行包含两个整数 n。输出格式 输.原创 2022-04-05 16:55:02 · 1193 阅读 · 0 评论 -
string substr()截取字符串操作
在网上看到一篇博客解释的很清楚C++中substr函数的用法 - GGBeng - 博客园 (cnblogs.com)#include<string>#include<iostream>using namespace std;int main(){ string s("12345asdf"); string a = s.substr(0,5); //获得字符串s中从第0位开始的长度为5的字符串 cout << a << e原创 2022-03-26 10:16:34 · 1770 阅读 · 0 评论 -
大学里的树木要打药(差分法)
题目教室外有 N 棵树,根据不同的位置和树种,学校要对其上不同的药。 因为树的排列成线性,且非常长,我们可以将它们看作一条直线给他们编号。 树的编号从 0-N-1 且 N<1e6。 对于树的药是成区间分布,比如 3 - 5 号的树靠近下水道,所以他们要用驱蚊虫的药, 20 - 26 号的树,他们排水不好,容易涝所以要给他们用点促进根系的药。 诸如此类,每种不同的药要花不同的钱。 现在已知共有 M 个这样的区间,并且给你每个区间花的钱,请问最后,这些树木花了多少药费。输入输入描述:原创 2022-03-24 18:47:00 · 431 阅读 · 0 评论 -
差分和前缀和(区间问题)
引入差分法差分法的应用主要是用于处理区间问题。当某一个数组要在很多不确定的区间,加上相同的一个数。我们如果每个都进行加法操作的话,那么复杂度 O(nm) 是平方阶的,非常消耗时间。如果我们采用差分法,将数组拆分,构造出一个新的拆分数组,通过对数组区间的端点进行加减操作,最后将数组和并就能完成原来的操作。这样处理后,时间复杂度降低为 O(N),虽然感觉操作变得更加复杂了,但是只用对边界操作确实比操作一整个区间的方法要优秀的多。差分法的特点:将对于区间的加减操作转化为对于端点的操作;原创 2022-03-24 18:37:11 · 902 阅读 · 0 评论 -
互评成绩—sort()函数
这题就注重于模拟,还要记得用sort()函数,cmp条件函数。。,总体不难7-11 互评成绩 (25 分)学生互评作业的简单规则是这样定的:每个人的作业会被k个同学评审,得到k个成绩。系统需要去掉一个最高分和一个最低分,将剩下的分数取平均,就得到这个学生的最后成绩。本题就要求你编写这个互评系统的算分模块。输入格式:输入第一行给出3个正整数N(3<N≤104,学生总数)、k(3≤k≤10,每份作业的评审数)、M(≤20,需要输出的学生数)。随后N行,每行给出一份作业得到的...原创 2022-03-12 17:59:27 · 158 阅读 · 0 评论 -
Left-pad(字符串)
麻了,,这道题巨蠢,忘记一直读换行符!!!!!头皮发麻根据新浪微博上的消息,有一位开发者不满NPM(Node Package Manager)的做法,收回了自己的开源代码,其中包括一个叫left-pad的模块,就是这个模块把javascript里面的React/Babel干瘫痪了。这是个什么样的模块?就是在字符串前填充一些东西到一定的长度。例如用*去填充字符串GPLT,使之长度为10,调用left-pad的结果就应该是******GPLT。Node社区曾经对left-pad紧急发布了一个替代,被严重原创 2022-03-12 17:51:01 · 189 阅读 · 0 评论 -
抢红包---结构图sort()
7-9 抢红包 (25 分)没有人没抢过红包吧…… 这里给出N个人之间互相发红包、抢红包的记录,请你统计一下他们抢红包的收获。输入格式:输入第一行给出一个正整数N(≤104),即参与发红包和抢红包的总人数,则这些人从1到N编号。随后N行,第i行给出编号为i的人发红包的记录,格式如下:KN1P1⋯NKPK其中K(0≤K≤20)是发出去的红包个数,Ni是抢到红包的人的编号,Pi(>0)是其抢到的红包金额(以分为单位)。注意:对于同一个人发出的红包,每人最多只能抢1次,不能重原创 2022-03-11 20:09:56 · 126 阅读 · 0 评论 -
哈希--帅到没朋友
L1-020 帅到没朋友 (20 分)当芸芸众生忙着在朋友圈中发照片的时候,总有一些人因为太帅而没有朋友。本题就要求你找出那些帅到没有朋友的人。输入格式:输入第一行给出一个正整数N(≤100),是已知朋友圈的个数;随后N行,每行首先给出一个正整数K(≤1000),为朋友圈中的人数,然后列出一个朋友圈内的所有人——为方便起见,每人对应一个ID号,为5位数字(从00000到99999),ID间以空格分隔;之后给出一个正整数M(≤10000),为待查询的人数;随后一行中列出M个待查询的ID,以空格分隔原创 2022-03-11 20:02:21 · 153 阅读 · 0 评论 -
map容器
记录一下感觉会用#include<bits/stdc++.h>using namespace std;int sum[10001]={0};map<int,int> mymap;pair<int,int> pa;bool cmp(pa a,pa b){ return a.second<b.second;}int main(){ int n,n1,p,price; cin>>n; for(int原创 2022-03-11 19:38:30 · 307 阅读 · 0 评论 -
动态规划(数字三角形)
7 3 8 8 1 0 2 7 4 4 4 5 2 ...原创 2022-03-06 15:53:35 · 442 阅读 · 0 评论 -
动态规划——最小花费爬楼梯
题目链接:746. 使用最小花费爬楼梯 - 力扣(LeetCode) (leetcode-cn.com)其实这道题和爬楼梯的那道题很像,只是每个阶梯添加了权重,然后是通过前面楼梯权重之和,进行比较加入新的阶梯的权值【min()】(1条消息) 动态规划——爬楼梯_find it %%的博客-优快云博客使用动态规划,就要有一个数组来记录状态,用一个一维数组dp[i]。dp[i]的定义:到达第i个台阶所花费的最少体力为dp[i]。可以有两个途径得到dp[i],一个是dp[i-1] 一原创 2022-02-02 16:18:52 · 588 阅读 · 0 评论 -
动态规划——爬楼梯
爬楼梯的问题非常经典题目链接:70. 爬楼梯 - 力扣(LeetCode) (leetcode-cn.com)我的理解是:第n个台阶只能从第n-1或者n-2个上来。到第n-1个台阶的走法 + 第n-2个台阶的走法 = 到第n个台阶的走法,已经知道了第1个和第2个台阶的走法,一路加上去。一般递归做法int climbStairs(int n) { if(n==1||n==2) return n; return climbStairs(原创 2022-02-02 15:26:58 · 596 阅读 · 0 评论 -
动态规划——斐波那契
题目链接509. 斐波那契数 - 力扣(LeetCode) (leetcode-cn.com)原创 2022-01-29 11:32:51 · 1006 阅读 · 0 评论