最小生成树两种常用算法

最小生成树的简易实现一:Kruskal 算法①算法核心思想:Kruskal是实现最小生成树比较简单的一种算法。该算法主要是应用了并查集的思想,先对图各边进行按权值从小到大排序,再孤立各个点,然后按序遍历各边将在集合外的点并到集合里,形成一个最小生成树复杂度最少为O(nlogn)。②例题P2504聪明的猴子AC代码:#include<bits/stdc++.h>using namespace std;struct node{ int x,y; int len;}w[10000
分类: 其他 发布时间: 11-22 08:25 阅读次数: 0

链式前向星和优先队列实现有向图/无向图的最短路)

链式前向星和优先队列实现有向图/无向图的最短路(解题日志)先看例题:poj3268银牛节题目大意:各个农场派一只奶牛去指定农场参加银牛节,计算在选择最优路径时耗费最多时间。题目解析:由于m为10^5本题用普通的邻接列表必然超时,因此学习新的方法链式前向星,相比较前向星而言时间复杂度仅为O(m)。算法解析:该算法是将起点相同的路径归为一类,然后每个路径节点的next指向上一节点,第一个节点则指向-1。样例实现最终图示(以x为起点):诶嘿(*・ω< ) 。添加路径代码:void add(
分类: 其他 发布时间: 11-22 08:24 阅读次数: 0

2021-06-10atcoder解题报告D - Kth Excluded(差分+二分法)

题目传送门:D-Kth Excluded初看该题,我天真的以为要用到stl的set或list,自我否认之后想到了用缺数二叉搜索拼出该数的方法,苦于没有合适的解法,经学长点拨后才知道原来还有差分数列这种东西,实在是太丢人了呜呜呜呜。差分在该题的应用就是对应原数列的前面所缺的总数,再通过以前一个被移除数定位所查找的数。#include<iostream>#include<algorithm>#include<cstring>#include<cmath&gt
分类: 其他 发布时间: 11-22 08:24 阅读次数: 0

2021-06-14 atcoder解题报告D - aab aba baa(组合数与字典序)

又是atcoder的D题,感觉atcoder每次从D题开始都是没有学过的…那样也好,每次都能学到新的内容,又能变强那么一点点…题目传送门:D - aab aba baa该题大意是求出a,b的第k个字典序序列,刚开始想到了二进制枚举啥的,但是看到数据量…虽然不大,但是肯定是没法这么做的。然后呢,就大致想到组合数的方面但不知道怎么实现,读了atcoder的提交代码后了解了思路。大致就是按位放a和b,首先应先考虑放a的情况,不会改变后面的字典序,求出该位放a时后面的组合数,如果k小于等于该组合数的话呢,就
分类: 其他 发布时间: 11-22 08:24 阅读次数: 0

混合背包二进制优化(伪万能背包模板)

今天在准备背包问题的算法模板时,突然想到上学期遗留下的一道混合背包问题,当时刚接触c语言,遇到这种题自然是一筹莫展,写的背包不是超时就是超空间,也有写过二进制的优化,但都以失败告终,如今看来,此题便是不攻自破了,顺便把它写成了万能的背包模板。题目如下:该题因为数据量较大,要用到优化来解决超时的问题,我选择了二进制优化,把混合背包转化成0-1背包问题。二进制优化的原理十分简单,就是通过二进制拼出自然数的方法将一个多重背包拆成几个0-1背包,例如,7可以拆成1,2,4三个数,这三个数能拼出1-7的所有数
分类: 其他 发布时间: 11-22 08:24 阅读次数: 0

C++与JAVA两种简易的字符串内元素排序与重组

最近在赶JAVA进程(终于要偿还暑假的无所事事了QAQ)。发现很多情况下JAVA实现一段代码,特别是数据类型的转化时比C要方便的多,有一些内置的类方法可以直接实现一些C无法实现的操作,比如说:String[] strArray = s.split(" ");这样的构造可以直接以一个分隔符分割一个字符串为一个字符串数组StringBuilder sb = new StringBuilder();sb.append(arr[i]);这样的数据类型和方法可以直接组合一个int类型的数组为一个字符串
分类: 其他 发布时间: 11-22 08:23 阅读次数: 0

C++与JAVA迭代器的使用

C与JAVA对比的第二篇:迭代器是一个我平常写题很不重视的一个方面,导致一些简单题会因为语法问题卡很久…现在既然JAVA学到了迭代器的使用,那我也来顺便做个总结吧。一:迭代器是什么,有什么用?迭代器是对C++stl容器和JAVA API类内部元素下标访问的一个方法,由于本身不支持数组的直接访问(除vector和map),需要通过迭代器进行访问,由于在像map这样的容器往往不知道内部元素个数,因此迭代器也能进行一个较好的访问和避免越界。二:迭代器的创建:C++中有分为iterator和auto两种迭
分类: 其他 发布时间: 11-22 08:23 阅读次数: 0

atcoder点阵坐标计算两题

点阵和直角坐标系一直都对我造成了较大的困扰,现借atcoder中的两题好好总结下该类题的计算方法。一:点阵求两图形是否全等。题目链接:C-Shapes题目大意:给出两个点阵,求经过旋转和平移后两图像是否全等。方法:分别找到最左最右最上最下的坐标并记录,然后原图从左下遍历至右上,分别标记对照图从四角开始遍历的图形情况,如果有一个角遍历完成后图形与原图吻合则成立。代码:#include<bits/stdc++.h>using namespace std;int const N = 2
分类: 其他 发布时间: 11-22 08:23 阅读次数: 0

计算机中整数,定点数,浮点数的表示

文章目录前言一、计算机中整数的表示1.原码2.移码3.反码4.补码二、计算机中定点数的表示三、计算机中浮点数的表示1. 规格化浮点数的表示2. 非规格化浮点数的表示前言因为学校里教计算机系统基础的老师属实垃圾,几堂课下来讲的不明不白,所以特自己总结该部分内容。一、计算机中整数的表示1.原码原码的表示十分简单,由一位符号位和几位数值位表示,符号位为1表示负数,0则为正数。2.移码所谓移码,就是将原本表示的数值加上一个偏置常数所得的数,通常是加上编码位数的最高位,即2^(n-1) 或 2^(n
分类: 其他 发布时间: 11-22 08:22 阅读次数: 0

2021牛客国庆派对1--J Different Integers(莫队算法)

题目传送门#include <bits/stdc++.h>using namespace std;typedef long long ll;const int m = 1e5+10;int a[m];int cnt[m];int ans=0;int arr[m];int block;struct node{ int l,r,id;}query[m];bool cmp(node a,node b){ return a.l/block==b.l/block?a.r/bl
分类: 其他 发布时间: 11-22 08:22 阅读次数: 0

关于如何实现一个至简的麻将模拟程序的思考

想做一个模拟立直麻将的程序,但是仔细思考了一下,由于麻将和牌牌型太多了,光是判断和牌牌型和计算役种番数的算法就相当困难,如果直接动态计算手牌和牌牌型的话,每次都根据不同情况要跑一遍算法,耗时太大,如果使用二分查表的算法的话也没有表可以查,因此我想,可不可以简化一下麻将,并使其不失麻将二则,根据牌山牌河出牌的乐趣和随机性造成的多样情况呢?中,发,白三元牌是我首先想到的,毕竟和出大三元是令人快乐的,因此,我把全部的麻将牌都换成中发白,并把牌总数控制为3214,84张,也就是每种牌28张。接下来考虑役种,可和
分类: 其他 发布时间: 11-22 08:22 阅读次数: 0

布斯(booth)乘法详解和例子

布斯乘法是用于计算带符号数乘法的规则,它是通过如下的规定完成乘法运算的:①:booth乘法的乘数和被乘数还有结果都应由补码表示。②:booth乘法计算前应在乘数末尾补零。③:booth乘法的符号位参与计算。④:booth乘法应以双符号位方式进行计算,防止结果溢出。下面通过例子展现x=-6,y=-7,booth乘法完整过程:...
分类: 其他 发布时间: 11-22 08:22 阅读次数: 0

关于贪心排序问题证明的思路启发

考虑这样一个问题:有n头牛,每头牛有重量wiw_iwi​和承重能力pip_ipi​这两个属性,现在要把这几头牛一头一头堆叠在一起,引入PDViPDV_iPDVi​(危险系数)=∑k=0i−1\sum_{k=0}^{i-1}∑k=0i−1​wkw_kwk​ - pip_ipi​,现要求对这几头牛的位置进行排序,使得其中危险系数最大的牛的危险系数为最小。这显然是一道简单的贪心排序问题,影响牛次序的无非就只有两个因素,wiw_iwi​和pip_ipi​,通过直感我们可以得到是wiw_iwi​+pip_ipi​
分类: 其他 发布时间: 11-22 08:21 阅读次数: 0

汇编指令条件标志判断小记(OF,CF,SF,ZF)

OFOFOF: 溢出标志,用于反映带符号数运算结果的溢出判断,在加法指令中,若两个操作数同号,结果与操作数同号,OFOFOF为0,否则为1(两个操作数异号则始终为0),在减法指令中,若两个操作数异号,结果与被减数同号,OFOFOF为0,否则为1(两个操作数同号则始终为0)。SFSFSF: 符号标志,反映带符号数运算结果,运算结果为负数SFSFSF为1,否则为0。ZFZFZF: 零标志,运算结果为0则ZFZFZF为1,否则为零。CFCFCF: 进位/借位标志,将两个操作数当做无符号数,在加减法指令下,若
分类: 其他 发布时间: 11-22 08:21 阅读次数: 0

ac自动机详解(用失配指针实现多模字符串匹配)

ac自动机,是用于计算多个字符串匹配的算法,我们知道,KMPKMPKMP以一种及其巧妙的方式实现了以单模字符串的匹配(以单个字符串去询问其他字符串中是否出现该字符串),现在我们要实现多模的字符串匹配(即以多个字符串去询问其他字符串中是否出现了这些字符串),用KMPKMPKMP显然是不足够的,那么就需要一种新的算法继承了KMPKMPKMP的思想,还要建立在一个数据结构上,它便是trietrietrie字典树。字典树是将字符串分解为单个字符并存在树上的一种数据结构,例如,我们有{“ab”,“ac”,“ba”
分类: 其他 发布时间: 11-22 08:21 阅读次数: 0

腾讯云CVM云服务器如何搭建宝塔面板

操作场景宝塔面板是一款使用方便、功能强大且终身免费的服务器管理软件,支持 Linux 与 Windows 系统。在宝塔面板中,您可以一键配置 LAMP、LNMP、网站、数据库、FTP、SSL,还可以通过 Web 端轻松管理服务器。本文指导您如何在云服务器的 Linux 实例上手动安装宝塔面板。示例软件版本本文安装的宝塔 Linux 面板组成及版本使用说明如下:Linux:Linux 操作系统,本文以 CentOS 7.6 为例。宝塔面板:本文以宝塔 Linux 面板6.9为例。前提条件宝塔 L
分类: 其他 发布时间: 11-22 08:21 阅读次数: 0

ethermine延迟高通过端口转发降低延迟解决方案

方案优势:1,低成本:一年只要几百块,折合一个月几十块,每天约等于1-2块,平摊到每台机器上成本更低。2,效果显著:部署后,延迟可以大幅度降低。广东大部分地区连接ethermine的asia2节点为例,延迟可以降低到20ms以内。同时可以大幅度丢包率,降低Shared的延迟率和无效率。前言痛点:ethermine等虽然它们也会提供亚洲节点,但是基本上是在新加坡,哪怕是部署在香港的,如果不是CN2回国线路的,也会出现延迟剧增的现象,常见的延迟一般是180-200ms,部分地区甚至高达200-300ms
分类: 其他 发布时间: 11-22 08:20 阅读次数: 0

ssm框架的项目目录

一个基于ssm框架的外卖系统的项目目录(idea社区版写的)
分类: 其他 发布时间: 11-22 08:20 阅读次数: 0

【JVM】高并发和JVM

一、参考资料JUC多线程和高并发JVM知识点导图
分类: 其他 发布时间: 11-22 08:20 阅读次数: 0

【JVM】JVM原理与性能优化

一、参考资料JVM(Java虚拟机)优化大全和案例实战_碧荷故乡_胡奇的专栏-CSDN博客_java虚拟机优化
分类: 其他 发布时间: 11-22 08:20 阅读次数: 0