自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C++计算哈夫曼编码以及WPL

【代码】C++计算哈夫曼编码以及WPL。

2024-03-05 11:45:33 130

原创 在JAVA中调用MATLAB程序

在JAVA中调用MATLAB程序

2022-12-12 19:55:49 4010 5

原创 基于熵权法对TOPSIS法模型的修正

TOPSIS法(优劣解距离法)是一种常用的综合评价方法,能充分利用原始数据的信息,其结果能精确地反映各评价方案之间的差距。同时TOPSIS法也可以结合熵权法使用确定各指标所占的权重。

2022-08-04 13:48:40 6147 3

原创 数论:唯一分解定理及应用(附两道例题)

前几天了解了唯一分解性定理,看了之后感觉定理内容挺简单的,不知道这个定理能干什么,算是比较巧吧,这几天一下遇到了两道需要用唯一分解性定理的题目。唯一分解性定理内容两道例题...

2021-05-11 19:32:44 3565

原创 Prime Path(素数路径)(BFS)

原题链接:Prime Path思路:1.线性筛,定义数组用于记录初始状态到达目前状态的最小改变次数2.使用BFS进行最短路搜索:将某一位的数变为0~9中的一个数据,得到的新数num需要满足的条件:1.1000 <= num <= 9992.新数num是素数3.这个数是第一次得到的C++11里有现成的to_string()和stoi()函数可以使用,作用是将数字转为字符串和字符串转为整型,但不知道为啥这两个函数在POJ里会CE于是就手写了一下#include <iost

2021-05-08 20:01:41 1814 1

原创 第十一届蓝桥杯大赛软件类决赛C/C++大学B组

2021-05-08 11:44:53 281

原创 第十届蓝桥杯决赛C++B组试题B:质数拆分(记忆化搜索)

正确答案是55965365465060!在某一篇博客上说这一题的答案是1这显然是理解错了题意!先看原题:题意分析:一开始写这一道题的时候以为题意是让把2019分解为两个不相等的素数之和,但是我仔细研读题意后发现正确题意是把2019分解为很多个不相等是素数之和例如可以分解为:3 + 5 + 2011等等。这一题使用了记忆化搜索,记忆化搜索是DP的一类,不了解的同学先简单的来看一下记忆化搜索的概念:我也是前几天才学习了记忆化搜索,刚开始学习的时候在想为什么把记忆化搜索归为DP而不是DFS,直到.

2021-05-07 10:07:07 838 1

原创 使用C/C++来解决日期问题

1. 得到某年某月的天数 2. 判断给定日期的合法性 3. 查找两个日期之间有多少个回文日期 4. 给定年月日,求经过n天后的日期

2021-04-28 22:54:48 810 2

原创 两个数组(数论、GCD)

文章参考了我学长的博客两个数组给定两个数组,蒜头君可以执行任意次以下操作:从第一个数组中取一个数 x,从第二个数组中取一个数 y,用 x + y或则x−y 替换 x。问能否使得第一个数组中元素都变成相同的数?输入格式第一行一个整数 T,表示数据组数。对于每组数据:第一行两个整数 n, m,表示两个数组的长度。第二行 n 个整数,表示第一个数组 a。第三行 m 个整数,表示第二个数组 b。输出格式对每组数据输出一行,如果能够使第一个数组的元素都相同,输出 “Yes”,否则输出 “.

2021-04-15 20:56:37 513

原创 三维BFS走迷宫(POJ - 2251)

题目链接点这里BFS是一个很重要的算法常用于解决边的权重相同时的最短路径问题本文主要讲解三维BFS走迷宫在用法和实践与二维BFS的区别我们知道,简单的来说BFS = 队列,对于C++来说,走迷宫有现成的STL可以使用只需要调用头文件:#include <queue>//头文件二维走迷宫点的存储和取点方法:typedef pair<int,int> PII;//或者pair<char,char>,视具体情况而定queue<PII> q;//队列q

2021-04-12 10:00:09 458

原创 科学家看电影(离散化)

原题链接:Cinema离散化的方法大致有两种:利用C++中的STL;直接利用数组来存储离散化后的数据本题我们采用第二种。先分析一下题目大意:n位科学家去看电影,电影院上映了m部电影,每个科学家只会一种语言,先输入科学家的人数n(可能有多个科学家懂同一种语言),在输入科学家懂的语言,输入电影院上映的电影数量m,接下来的一行输入电影的音频语言(b[i]),下一行输入电影的字幕语言(c[i]),注意:b[i]和c[i]是同一部语言的音频语言和字幕语言,且b[i] != c[i],如果一个科学家能

2021-03-18 15:36:33 259

原创 NBUT 1220 SPY(二分)

原题链接:SPY题目大意:题目特别长,而且是全英的,其实意思特别简单:给定三个数组str,a,b,找出数组a中满足在数组str中但是不在数组b中的所有元素,例如:str:1 2 3 a:1 4 5b:4 5 6输出结果应该为1,因为1在str中,但是不在b中题目解析:因为题目未给定详细的数据范围,所以直接暴力的话可能会TLE(Time Limit Exceeded)因此就考虑用时间复杂度为log(n)的二分查找(万能的二分)。直接上AC代码://题目来源:VJ3.14团队赛 //题目大意

2021-03-16 08:31:40 155 2

原创 二分查找函数:lower_bound()与upper_bound()

lower_bound()函数用于查找在指定区域内大于等于目标值的第一个元素。也就是说,使用该函数在指定范围内找某个目标值时,最终查找到的不一定是和目标值相等的元素,也可能是比目标值大的元素。函数原型lower_bound(a,a+n,x);查找指定范围内第一个大于等于x的元素的下标:int t = lower_bound(a,a+n,x) - a;注意:如果x大于数组中最大的元素,t等于数组的长度,如果x小于数组中最小的元素则t等于0(当然也有可能x等于a[0])。应用:查找比x小的元素的

2021-03-15 19:32:41 392

原创 二进制和十进制之间的互相转换(超强的bitset方法)

十进制数转换为二进制char str[100],arr[100];void toTwo(int n){ int i = 0; while(n > 0) { str[i] = n % 2 + '0'; n /= 2; i++; } int num = 8 - i,k = 0;//这里假设题目要求保留8位二进制,不足用0补齐,即num = 8 - i while(num--) { arr[k] = '0'; k++; } for(int j = i -1; j

2021-03-14 11:11:11 1021

原创 浅谈字符串哈希

浅谈字符串哈希(持续更新)我们先来看一个经典的求某个前缀的字符串的哈希值的代码片段typedef unsigned long long ULL;P = 131;ULL h[1000],p[1000];//数组h代表一个前缀的哈希值void make_hash(){ char str[1000]; scanf("%s",str + 1);//字符串应从下标1开始输入 int p[0] = 1; for(int i = 1; i <= str.length; i++) { p[

2021-03-13 23:49:59 372

空空如也

空空如也

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

TA关注的人

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