- 2024-08-11算法学习:矩阵快速幂/矩阵加速
1.前言 其实本质上来说,矩阵快速幂或是矩阵加速的题目比较的模板化一些,大体上都是属于我们要先写出来一个递推式子(或者是我们需要递推的式子),然后由于递推的次数过大,1e18之类的,会导致复杂度的飚升,所以我们会用到矩阵来帮我们快速处理。 另外,从题目的类型上大概是分为两类,一类是
- 2024-08-07排序算法
排序算法BUBSort冒泡排序伪代码do-swapped=false-fromi=1to最后一个没有排序过元素的索引-1-ifleft>right--swap(left,right)--swapped=truewhileswapped代码实现voidBubSort(){inttem=0;boolswapped;do{t
- 2024-07-27P2024 [NOI2001] 食物链
原题链接题解关系具有矢量特性,因此可以带权并查集维护code#include<bits/stdc++.h>#definelllonglongusingnamespacestd;intfa[50006];intval[50006];intfinds(intnow){if(now==fa[now])returnnow;inttem=fa[now];fa[now]=finds(fa[now])
- 2024-07-27F. Bomb
原题链接题解贪心的每次挑选当前最大的,但是要挑选k次,因此我们没法去遍历挑选的过程,因此我们考虑最终形态,由于每次挑选最大的元素,因此最后所有数一定不超过某个数,二分由此而来code#include<bits/stdc++.h>#definelllonglongusingnamespacestd;lln,k;lla[200005],b[
- 2024-07-25题解:Codeforces Round 961 (Div. 2) A
A.Diagonals*timelimitpertest:1secondmemorylimitpertest:256megabytesinput:standardinputoutput:standardoutputVitaly503isgivenacheckeredboardwithasideof\(n\)and\(k\)chips.Herealizedthatallthese\(k\)chipsneedto
- 2024-07-19D. Sasha and a Walk in the City
原题链接题意树中任意一条路径上黑色点的数量不超过两个,请问存在多少种树分析先随便找一个节点作为根节点,然后分类讨论假如根到叶子节点的路径上有两个黑色节点,则不能再添加其他点了如果根到叶子节点的路径上有一个黑色节点,则可以还可以在不在这条路径上的地方放黑色节点在
- 2024-07-172024牛客暑期多校训练营1 I.Mirror Maze(题解)
题意给一个\(n\timesm\)的二维char数组,由4种镜子组成,'\','/','-','|',镜面反射规则就是根据光线的方向和镜面的角度符合直觉的反射,然后有多组询问\(q\leq10^6\),每次给定起始位置和光线方向,求该光会经过多少面不同的镜子的反射。思路首先根据数据范围,发现肯定需要预处
- 2024-07-11ROME 反序列化
ROME反序列化rome是什么ROME是主要用于解析RSS和Atom种子的一个Java框架。ROME是一个可以兼容多种格式的feeds解析器,可以从一种格式转换成另一种格式,也可返回指定格式或Java对象。ROME兼容了RSS(0.90,0.91,0.92,0.93,0.94,1.0,2.0),Atom0.3以及Atom1.0fe
- 2024-07-06代码随想录算法训练营第三天 | 203.移除链表元素 、 707.设计链表 、206.反转链表
203.移除链表元素题目:.-力扣(LeetCode)思路:主要是通过运用虚拟头节点来统一移除元素的写法。代码:/***Definitionforsingly-linkedlist.*structListNode{*intval;*ListNode*next;*ListNode():val(0),next(nullptr){}*ListNode
- 2024-06-13H. Don't Blame Me
原题链接题解1.先想想能不能暴力?发现好像不行,因为不知道哪些元素组合的按位与能恰好有k个12.观察数据范围,发现\(a_i\leq63\)也就是说,按位与的结果最大不会大于63,即6位1,这暗示着我们可能可以从这里入手,即遍历所有按位与的情况,然后判断每种有k个1的按位与,有几个子序列
- 2024-06-13Q28 LeetCode202 快乐数
主要是查看HashMap中是否存储n,如果存储就说明非快乐数各位的数平方相加的方法 1classSolution{2publicbooleanisHappy(intn){3HashMap<Integer,Integer>map=newHashMap<>();45while(getSum(n)!=1){6intan
- 2024-06-13G. D-Function
原题链接题解先不考虑k的限制,而是考虑对于任意一个数,存不存在一个k使得题目所给等式成立当\(n·k\)没有进位时,等式一定成立(赛时也许想到这就够了)假如有进位呢?对于任何一个位数大于1的数,必有\(D(n)\ltn\)(想想十进制是怎么表示数的)而对于位数为1的数,有\(D(n)=n\)所
- 2024-05-293.无重复字符的最长子串
给定一个字符串s,请你找出其中不含有重复字符的最长子串的长度。示例1:输入:s="abcabcbb"输出:3解释:因为无重复字符的最长子串是"abc",所以其长度为3。示例2:输入:s="bbbbb"输出:1解释:因为无重复字符的最长子串是"b",所以其长度为1。示例3:输
- 2024-05-28C. Nikita and LCM
原题链接题解发现一串数字的lcm一定大于等于这一串数字的最大值,所以如果整个数组的lcm大于\(a_{max}\),直接输出n否则,注意这里的思维,否则,剩余数字组成的lcm一定小于等于\(a_{max}\)且是\(a_{max}\)的因子code#include<bits/stdc++.h>#definelllonglongusingnamesp
- 2024-05-27七大排序算法:插入排序、希尔排序、选择排序、冒泡排序、堆排序、归并排序、快速排序
以下内容转载自文章1.插入排序步骤:1.从第一个元素开始,该元素可以认为已经被排序2.取下一个元素tem,从已排序的元素序列从后往前扫描3.如果该元素大于tem,则将该元素移到下一位4.重复步骤3,直到找到已排序元素中小于等于tem的元素5.tem插入到该元素的后面,如果已排序所有元
- 2024-05-25行业与气象数据的相关性探索
行业数据与气象数据的相关性探索目录行业数据与气象数据的相关性探索缺失值的处理方式定性数据的赋值方式1.行业类型2.天气状况3.风向情况4.温度数据5.时间数据数据预处理符号说明代码实现结论说明缺失值的处理方式通过筛查,发现行业表中各类行业均缺失2021年1月26日的数据,对此
- 2024-05-20P8624 [蓝桥杯 2015 省 AB] 垒骰子
原题链接题解code#include<bits/stdc++.h>usingnamespacestd;#definelllonglongconstllmod=1e9+7;lla[7][7]={0},e[7]={0};voidcf1(){lltem[7]={0};for(inti=1;i<=6;i++){for(intj=1;j<=6;j++){t
- 2024-05-16B. Omkar and Heavenly Tree
原题链接题解真的bt啊由于m没有限制所有测试用例的总和,所以m可以近似看为1e9,也就是说,除了输入以外,不能有任何对m的处理(常数乘上1e9)考虑菊花图,任意两点之间最多只有一个陌生点,而且\(m\ltn\)所以找出那个没有出现过的中间点,作为菊花图的中心md!!构造题!!code#include<bits/std
- 2024-03-31【Python】反转数字(整数、百分数、小数、分数)
(本人蒟蒻,dalao勿喷)需要代码往下翻,最后的代码最简洁喔~题设:'''给定一个数,请将该数各个位上数字反转得到一个新数。整数反转是将所有数位对调。小数反转是把整数部分的数反转,再将小数部分的数反转,不交换整数部分与小数部分。分数反转是把分母的数反转,再把分子的数反转,不交换
- 2024-03-22今日总结2024/3/22
今日复习了BFS的抽象用法,可以根据实际问题不断枚举所有可能Acwing1355.母亲的牛奶农夫约翰有三个容量分别为 A,B,C升的挤奶桶。最开始桶 A 和桶 B都是空的,而桶 C里装满了牛奶。有时,约翰会将牛奶从一个桶倒到另一个桶中,直到被倒入牛奶的桶满了或者倒出牛奶的桶空了为
- 2024-03-17go语言请求http接口示例 并解析json
本例请求了天气api接口对接流程注册一个账号,对接免费实况天气接口阅读接口文档http://tianqiapi.com/index/doc?version=day请求接口解析json开发流程创建一个json.go文件需要引入的包import( "encoding/json" "fmt" "io/ioutil" "net/http")定义Wea
- 2024-03-17每日一题 第三期 洛谷 国王游戏
[NOIP2012提高组]国王游戏题目描述恰逢H国国庆,国王邀请nnn位大臣来玩一个有奖游戏。首先,他让每个大臣在左、右手上面分别写下一个整数,国王自己也在左、右手上各写
- 2024-03-1414_学习日志_数据结构_冒泡排序_快速排序_插入排序
#include<编织有意义的谎言,使我相信闭上眼再睁开眼时的世界是同一个>1.介绍 从后往前或者从前往后开始两两比较元素,使得最小数上浮或者最大数下沉为冒泡排序,快速排序利用分治思想,使得基准数左边都存放相对较小数,右边存放较大数,两边再按照同样的做法重复。插入排序
- 2024-03-01P1686 挑战
题目大意给定n个点,每个点大致包含如下信息:节点编号横纵坐标求两个编号不相邻的点是否有最短路径即所谓捷径,而两点必须在同一直线上,即两点必处于同行或同列理解题意后,不难想到可以有如下做法:将所有节点信息储存下来,分成同行一类,同列一类,模拟题意即可#include<algorithm>
- 2024-02-28454. 四数相加 II C
自己写了一个hash表。原来学过的数据结构关于hash的那章还是有实际用的,不是书架子。typedefstructnode{intsum;intcount;structnode*repeatnext;}hash;voidinit_hashtable(hashh[]){for(inti=0;i<127;i++){h[i].sum=0;h[i].