- GoBGP 中文入门指南
运维之美
网络javalinuxpython分布式
公众号关注「奇妙的Linux世界」设为「星标」,每天带你玩转Linux!GoBGP是使用Go语言开发的,运行在Linux系统上的开源工具,可以提供BGP协议的控制平面功能。与Quagga/FRRouting相比,GoBGP的性能更好,收敛时间更短,可以适用于更大规模的网络,比如充当IXP路由器。可以使用Python、C++等多种语言,通过gRPCAPI对GoBGP进行配置,当然也支持CLI。GoB
- Linux实现发送post请求
星夜兼程工作笔记
1.前言Linux下的http请求有许多种方式,其中curl库是C语言封装的一个强大的库,使用curl比封装socket更加方便。cJSON是一个小型的json封装库,可以把数据封装成json格式。本文介绍了这两种技术,并通过此技术完成了Linux下的http请求,同时把代码封装到quagga下,quagga运行时可以正常创建数据到ONOS。2.Linux下http请求实现2.1.curl简介cu
- Openwrt 下动态路由协议(quagga-OSPF)配置与验证
月光技术杂谈
OpenWRT网络openwrtOSPF动态路由协议
文章目录前言网络拓扑静态路由方式动态路由方式Openwrt下Quagga安装Quagga配置R1路由器zebra配置R1路由器ospf配置R2路由器zebra配置R2路由器ospf配置OSPF协议分析REF本文将在两台openwrt系统上安装配置quagga,搭建一套完整环境,来验证OSPF动态路由的基本功能和实际效果,验证过程中详细展示了OSPF控制台基本命令使用和配置前后路由信息、OSPF控制
- uni.scanCode不支持h5扫码(用拍照或者获取相册识别二维码和条码)
li@h
前端
用微信扫码uni.scanCode经过官网查询不支持h5经过网上查询可以引入QuaggaJS库来实现识别条码实现h5识别二维码我是参考无名咸鱼的博客QuaggaJS官网QuaggaJS官网地址quaggaJSGitHub地址用npm安装先安装npminstallquagga如有需要看详情去官网查看引入importQuaggafrom'quagga';//引用QuaggaJS库constQuagga
- FRR -- Process Architecture
confirmwz
#FRR
FRRinheriteditsoveralldesignarchitecturefromQuagga.ThechosenmodelforQuaggaisthatofasuiteofindependentdaemonsthatdoIPCviaUnixdomainsockets.Withineachdaemon,thearchitecturefollowstheevent-drivenmodel.FR
- quagga-zebra路由协议------ospf发送hello报文
the future c
router网络协议
root@ubuntu:~/router-code/quagga-1.2.4#find./-name'*.c'|xargsgrep"\bospf_ls_upd_send\b"-n--color=always./ospfd/ospf_packet.c:
- Ceph入门到精通-基于ECMP的多活负载均衡策略
瓦哥架构实战
ceph负载均衡运维
本文简单介绍一下,如何基于ECMP,使用Quagga+LVS+Keepalived构建多活负载均衡方案1.背景介绍负载均衡,主要用于大规模分布式集群下,提供高性能服务。为了给负载均衡器提供高可用,一般利用主备或者主主模式实现。主备模式即只有主负载均衡器提供负载均衡功能,当主负载均衡器出现异常时,自动切换到备负载均衡器,继续提供负载均衡功能。主主模式(也称之为双活负载均衡),两个负载均衡器同时提供负
- Ceph入门到精通-如何编译安装Quagga?
瓦哥架构实战
Ceph入门到精通ceph
Quagga1.理论部分1.1软件简介Quagga中文翻译斑驴,是一种先进的路由软件包,提供一套基于TCP/IP的路由协议。1.2斑驴的应用场景–使得操作系统变成专业的路由–使得操作系统具有与传统路由通过路由协议直接对接1.3斑驴支持的路由协议–BGP–OSPF–RIP–IS-IS–MPLS–LDP–BFD–PIM-SSM1.4斑驴与传统路由的区别–传统路由以提供所有路由协议的过程程序的方式运行–
- js和html5实现扫描条形码
perfiffer
前端js条形码html5手机js
最近项目有个功能,需要实现扫描条形码,最开始想到的是利用html5,发现html5有个getUserMedia属性,可以调用手机的摄像头,但是有个问题,网页中的摄像无法拉大光圈,焦距不好控制,近距离无法聚焦,拍出来的条形码模糊不清无法解析。继续搜索,发现了一个js的扫描条形码插件,quagga.js网址为:https://serratus.github.io/quaggaJS/此插件提供了三种方式
- uniapp实现条码扫描 可开闪光灯,原生H5调用,不需要任何sdk。
迪迦
uniappuni-app
主要思路使用QuaggaJs这个库。调用摄像头使用的navigator.mediaDevices.getUserMedia这个H5的api。通过video和canvas把摄像头获取到的数据展现到页面上,同时调用监听Quagga解析。获取设备摄像头权限,用于后续开启摄像头。创建video元素显示摄像头画面,和canvas元素用于QuaggaJS进行图像处理和解码。初始化QuaggaJS,设置解码参数
- 使用 Quagga 将CentOS 变成 路由器
研发小峰
OSPFhttps://linux.cn/article-4232-1.htmlhttps://linux.cn/article-4232-2.htmlBGPhttps://linux.cn/article-4609-1.htmlhttps://linux.cn/article-4609-2.htmlhttps://linux.cn/article-6468-1.html
- vtysh 参数_CentOS7下利用FRR路由套件实现OSPF动态路由组网
小透明熊熊
vtysh参数
FRRouting(FRR)简介FRR是一个路由软件套件,它衍生自Quagga,并在GNUGPL2许可下分发。与Quagga一样,它为类Unix平台提供了所有主要路由协议的实现,例如OSPF、路由信息协议(RoutingInformationProtocol)(RIP)、边界网关协议(BorderGatewayProtocol)(BGP)和中间系统到中间系统(Intermediatesystem-
- 服务器开发系列(四)——网络基础
晓dawn
机器视觉服务器
系列文章目录服务器开发系列(一)——计算机硬件服务器开发系列(二)——JetsonXavierNX服务器开发系列(三)——Linux与Windows操作系统基础功能对比文章目录系列文章目录前言一、网络基础二、TCP/IP协议族三、局域网四、无线网络五、路由器静态路由之路由器动态路由器架设:quagga(zebra+ripd)六、Linux常用网络命令网络启动方面类命令:网络状态监控类命令:网络故障
- 【vue】 上传快递单条形码 识别单号
吃肉肉不吃肉肉
第三方插件:quagga.js二维码插件:qrcodejs2.js(本篇未用到)安装条形码插件库npmiquagga-s-d在需要的页面引入:importQuaggafrom'quagga'//条形码importQRCodefrom'qrcodejs2'点击上传快递单条形码(识别单号)//识别物流信息thumbupdateUpload(params){constfile=params.fileco
- linux怎么查看bgp状态,在CentOS中制作BGP路由的教程
你在干嘛a
linux怎么查看bgp状态
Quagga是一个开源路由软件套件。在这个教程中,我将会重点讲讲如何把一个Linux系统变成一个BGP路由器,还是使用Quagga,演示如何建立BGP与其它BGP路由器对等。在我们进入细节之前,一些BGP的背景知识还是必要的。边界网关协议(即BGP)是互联网的域间路由协议的实际标准。在BGP术语中,全球互联网是由成千上万相关联的自治系统(AS)组成,其中每一个AS代表每一个特定运营商提供的一个网络
- Fiori-like Prototype Demo (Barcode with quaggaJS)
Meellor
智能手机设备模拟:专业条码枪扫描条形码功能。QuaggaJSSolutions区分是否启用:SSL配置。WorkwithSSL:barcode-https-min.gifWorkwithinvalidSSL:barcode-none-https-min.gif体验地址:BarcodewithquaggaJS参考资料:1.BarcodescanningwithdevicecamerainSAPUI5
- ubuntu 16.04编译qca sdk出现aclocal-1.15: command not found问题解决方案
wellnw
qsdkubuntu
Ubuntu编译qcasdk出现如下错误]:Enteringdirectory`/home/wellnw/quagga/quagga'CDPATH="${ZSH_VERSION+.}:"&&cd.&&/bin/bash/home/wellnw/quagga/quagga/missingaclocal-1.15-Im4/home/wellnw/quagga/quagga/missing:line81
- quagga代码分析一
wqx_163
quagga-cli
命令节点类型定义:只需要将新增的命令节点加入该枚举中即可。enumnode_type{AUTH_NODE,/*Authenticationmodeofvtyinterface.*/RESTRICTED_NODE,/*Restrictedviewmode*/VIEW_NODE,/*Viewnode.Defaultmodeofvtyinterface.*/AUTH_ENABLE_NODE,/*Auth
- quagga中cli命令分析
wqx_163
quagga-cli
在quagga的基础上新增加命令视图定义命令视图类型,enumnode_type;定义命令视图结构,structcmd_node;Staticstructcmd_node视图名称={命令视图类型,该视图下的提示符字符串,};安装命令视图,install_node(),install_default();Install_node(视图名称,回调函数)Install_default(视图类型)在已有的
- quagga 安装详解以及相关问题解决
BabyBirdToFly
quagga安装虚拟路由器的安装
安装步骤:1.下载quagga安装包:quagga.zip2.解压:unzip..zip3.cdquagga4.配置:./configure--sysconfdir=/root/cfg--enable-vtysh--enable-zebra--enable-isisd--enable-user='root'--enable-group='root'--enable-vty-group='root'
- 使用quaggaJS识别图片中的条形码
晨光--geeker
前端javascripthtml5
使用quaggaJS识别图片中的条形码quaggaJS是一个纯JS的插件,用于识别图片中的条形码,很方便。一般用于移动端拍照识别,也可以在网页端上传图片识别。github下载地址首先要指定正确格式的条形码,常见的条形码编码类型有EAN和CODE128。另外,并不是所有图片中的条形码都可以被识别出来,而且正确率也不是100%。下面是识别网页上传图片中条码的方法。Document识别$(functio
- Quagga简介、安装、配置说明
hello&Code
Quagga软件原名是Zebra是由一个日本开发团队编写的一个以GNU版权方式发布的软件。可以使用Quagga将linux机器打造成一台功能完备的路由器。模块化设计:Quagga基于模块化方案的设计,即对每一个路由协议使用单独的守护进程。运行速度快:因为使用了模块化的设计,使得Quagga的运行速度比一般的路由选择程序要快。可靠性高:在所有软件模块都失败的情况下,路由器可以继续保持连接并且daem
- shell脚本个人总结
wqx_163
shell
- linux配置静态路由实现路由转发和quagga实现动态路由实验
jalen_king
网络及编程
本文介绍2种linux配置路由实现。一、linux配置静态路由实现路由转发1.启用Linux路由功能1.配置文件在/etc/sysctl.conf里的net.ipv4.ip_forwartd=1启用路由功能[root@localhost~]#cat/proc/sys/net/ipv4/ip_forward0ipv4/ip_forward=0表示没有启用路由功能[root@localhost~]#e
- 想玩路由器吗?使用 Quagga 将你的 CentOS 变成 OSPF 路由器
weixin_34413065
操作系统网络运维
想玩路由器吗?使用Quagga将你的CentOS变成OSPF路由器Quagga是一个开源路由软件套件,可以将Linux变成支持如RIP、OSPF、BGP和IS-IS等主要路由协议的路由器。它具有对IPv4和IPv6的完整支持,并支持路由/前缀过滤。Quagga可以是你生命中的救星,以防你的生产路由器一旦宕机,而你没有备用的设备而只能等待更换。通过适当的配置,Quagga甚至可以作为生产路由器。本教
- 手动添加本地路由表并用Quagga+ospf通知其它路由
flfihpv259
linux
文章目录参考文章:一路由设置1.参数说明2查询设置二动态路由的设置实验参考文章:Linux下使用Quagga搭建软路由-OSPFv2学习鳥哥的Linux私房菜一路由设置1.参数说明root@anzye:#route-n内核IP路由表目标网关子网掩码标志跃点引用使用接口0.0.0.0192.168.2.2540.0.0.0UG60000wlan010.42.0.00.0.0.0255.255.255
- (OK) Fedora 24 开机自动启动脚本 - rc.local - rc-local.service
ztguang
Linux普通应用Linux—03—系统管理OK
vim/etc/rc.d/rc.local#!/bin/bashsystemctlstartdocker.service/root/hsl-win7-ns3-root.sh6destroy/root/hsl-win7-ns3-root.sh6destroy/root/hsl_install_6_docker-centos-quagga.shdestroy/root/hsl_install_6_do
- QUAGGA 线程机制解析
码中飞翔
quagga
文章目录QUAGGA线程机制解析1引言1.1说在前面的话1.2QUAGGA线程机制简介2重要的结构体解析2.1线程结构体thread线程对CPU使用的情况structcpu_thread_history线程管理结构thread_master3事件主循环顺序3.1源码解析3.2线程之间状态转换图3.3线程调度时序图4API的使用4.1主要的外部接口4.2内部接口5总结QUAGGA线程机制解析1引言1
- quagga配置ospf协议md5认证
李耳-lier
linux
找到quagga的ospfd组件的配置文件ospfd.conf,在这个配置文件中加入以下几行:interfaceINTERFACEIDipospfauthenticationmessage-digestipospfmessage-digest-keyKEYIDmd5YOURKEY其中:INTERFACEID为要开启quaggaospf协议的本机网卡接口名,如eth0,eth1等KEYID为md5认
- Quagga 路由软件学习(by quqi99)
quqi99
OpenStackNetworking
Quagga路由软件学习(byquqi99)作者:张华发表于:2013-07-07版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本版权声明http://blog.csdn.net/quqi99)Quagga是一个开源的基于Zebra实现了RIP,OSPF,BGP的动态路由软件。它提供的CLI命令和CiscoIOS类似。1安装再下载源码,解压后执行下列命令:sudoyu
- HQL之投影查询
归来朝歌
HQLHibernate查询语句投影查询
在HQL查询中,常常面临这样一个场景,对于多表查询,是要将一个表的对象查出来还是要只需要每个表中的几个字段,最后放在一起显示?
针对上面的场景,如果需要将一个对象查出来:
HQL语句写“from 对象”即可
Session session = HibernateUtil.openSession();
- Spring整合redis
bylijinnan
redis
pom.xml
<dependencies>
<!-- Spring Data - Redis Library -->
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-redi
- org.hibernate.NonUniqueResultException: query did not return a unique result: 2
0624chenhong
Hibernate
参考:http://blog.csdn.net/qingfeilee/article/details/7052736
org.hibernate.NonUniqueResultException: query did not return a unique result: 2
在项目中出现了org.hiber
- android动画效果
不懂事的小屁孩
android动画
前几天弄alertdialog和popupwindow的时候,用到了android的动画效果,今天专门研究了一下关于android的动画效果,列出来,方便以后使用。
Android 平台提供了两类动画。 一类是Tween动画,就是对场景里的对象不断的进行图像变化来产生动画效果(旋转、平移、放缩和渐变)。
第二类就是 Frame动画,即顺序的播放事先做好的图像,与gif图片原理类似。
- js delete 删除机理以及它的内存泄露问题的解决方案
换个号韩国红果果
JavaScript
delete删除属性时只是解除了属性与对象的绑定,故当属性值为一个对象时,删除时会造成内存泄露 (其实还未删除)
举例:
var person={name:{firstname:'bob'}}
var p=person.name
delete person.name
p.firstname -->'bob'
// 依然可以访问p.firstname,存在内存泄露
- Oracle将零干预分析加入网络即服务计划
蓝儿唯美
oracle
由Oracle通信技术部门主导的演示项目并没有在本月较早前法国南斯举行的行业集团TM论坛大会中获得嘉奖。但是,Oracle通信官员解雇致力于打造一个支持零干预分配和编制功能的网络即服务(NaaS)平台,帮助企业以更灵活和更适合云的方式实现通信服务提供商(CSP)的连接产品。这个Oracle主导的项目属于TM Forum Live!活动上展示的Catalyst计划的19个项目之一。Catalyst计
- spring学习——springmvc(二)
a-john
springMVC
Spring MVC提供了非常方便的文件上传功能。
1,配置Spring支持文件上传:
DispatcherServlet本身并不知道如何处理multipart的表单数据,需要一个multipart解析器把POST请求的multipart数据中抽取出来,这样DispatcherServlet就能将其传递给我们的控制器了。为了在Spring中注册multipart解析器,需要声明一个实现了Mul
- POJ-2828-Buy Tickets
aijuans
ACM_POJ
POJ-2828-Buy Tickets
http://poj.org/problem?id=2828
线段树,逆序插入
#include<iostream>#include<cstdio>#include<cstring>#include<cstdlib>using namespace std;#define N 200010struct
- Java Ant build.xml详解
asia007
build.xml
1,什么是antant是构建工具2,什么是构建概念到处可查到,形象来说,你要把代码从某个地方拿来,编译,再拷贝到某个地方去等等操作,当然不仅与此,但是主要用来干这个3,ant的好处跨平台 --因为ant是使用java实现的,所以它跨平台使用简单--与ant的兄弟make比起来语法清晰--同样是和make相比功能强大--ant能做的事情很多,可能你用了很久,你仍然不知道它能有
- android按钮监听器的四种技术
百合不是茶
androidxml配置监听器实现接口
android开发中经常会用到各种各样的监听器,android监听器的写法与java又有不同的地方;
1,activity中使用内部类实现接口 ,创建内部类实例 使用add方法 与java类似
创建监听器的实例
myLis lis = new myLis();
使用add方法给按钮添加监听器
- 软件架构师不等同于资深程序员
bijian1013
程序员架构师架构设计
本文的作者Armel Nene是ETAPIX Global公司的首席架构师,他居住在伦敦,他参与过的开源项目包括 Apache Lucene,,Apache Nutch, Liferay 和 Pentaho等。
如今很多的公司
- TeamForge Wiki Syntax & CollabNet User Information Center
sunjing
TeamForgeHow doAttachementAnchorWiki Syntax
the CollabNet user information center http://help.collab.net/
How do I create a new Wiki page?
A CollabNet TeamForge project can have any number of Wiki pages. All Wiki pages are linked, and
- 【Redis四】Redis数据类型
bit1129
redis
概述
Redis是一个高性能的数据结构服务器,称之为数据结构服务器的原因是,它提供了丰富的数据类型以满足不同的应用场景,本文对Redis的数据类型以及对这些类型可能的操作进行总结。
Redis常用的数据类型包括string、set、list、hash以及sorted set.Redis本身是K/V系统,这里的数据类型指的是value的类型,而不是key的类型,key的类型只有一种即string
- SSH2整合-附源码
白糖_
eclipsespringtomcatHibernateGoogle
今天用eclipse终于整合出了struts2+hibernate+spring框架。
我创建的是tomcat项目,需要有tomcat插件。导入项目以后,鼠标右键选择属性,然后再找到“tomcat”项,勾选一下“Is a tomcat project”即可。具体方法见源码里的jsp图片,sql也在源码里。
补充1:项目中部分jar包不是最新版的,可能导
- [转]开源项目代码的学习方法
braveCS
学习方法
转自:
http://blog.sina.com.cn/s/blog_693458530100lk5m.html
http://www.cnblogs.com/west-link/archive/2011/06/07/2074466.html
1)阅读features。以此来搞清楚该项目有哪些特性2)思考。想想如果自己来做有这些features的项目该如何构架3)下载并安装d
- 编程之美-子数组的最大和(二维)
bylijinnan
编程之美
package beautyOfCoding;
import java.util.Arrays;
import java.util.Random;
public class MaxSubArraySum2 {
/**
* 编程之美 子数组之和的最大值(二维)
*/
private static final int ROW = 5;
private stat
- 读书笔记-3
chengxuyuancsdn
jquery笔记resultMap配置ibatis一对多配置
1、resultMap配置
2、ibatis一对多配置
3、jquery笔记
1、resultMap配置
当<select resultMap="topic_data">
<resultMap id="topic_data">必须一一对应。
(1)<resultMap class="tblTopic&q
- [物理与天文]物理学新进展
comsci
如果我们必须获得某种地球上没有的矿石,才能够进行某些能量输出装置的设计和建造,而要获得这种矿石,又必须首先进行深空探测,而要进行深空探测,又必须获得这种能量输出装置,这个矛盾的循环,会导致地球联盟在与宇宙文明建立关系的时候,陷入困境
怎么办呢?
 
- Oracle 11g新特性:Automatic Diagnostic Repository
daizj
oracleADR
Oracle Database 11g的FDI(Fault Diagnosability Infrastructure)是自动化诊断方面的又一增强。
FDI的一个关键组件是自动诊断库(Automatic Diagnostic Repository-ADR)。
在oracle 11g中,alert文件的信息是以xml的文件格式存在的,另外提供了普通文本格式的alert文件。
这两份log文
- 简单排序:选择排序
dieslrae
选择排序
public void selectSort(int[] array){
int select;
for(int i=0;i<array.length;i++){
select = i;
for(int k=i+1;k<array.leng
- C语言学习六指针的经典程序,互换两个数字
dcj3sjt126com
c
示例程序,swap_1和swap_2都是错误的,推理从1开始推到2,2没完成,推到3就完成了
# include <stdio.h>
void swap_1(int, int);
void swap_2(int *, int *);
void swap_3(int *, int *);
int main(void)
{
int a = 3;
int b =
- php 5.4中php-fpm 的重启、终止操作命令
dcj3sjt126com
PHP
php 5.4中php-fpm 的重启、终止操作命令:
查看php运行目录命令:which php/usr/bin/php
查看php-fpm进程数:ps aux | grep -c php-fpm
查看运行内存/usr/bin/php -i|grep mem
重启php-fpm/etc/init.d/php-fpm restart
在phpinfo()输出内容可以看到php
- 线程同步工具类
shuizhaosi888
同步工具类
同步工具类包括信号量(Semaphore)、栅栏(barrier)、闭锁(CountDownLatch)
闭锁(CountDownLatch)
public class RunMain {
public long timeTasks(int nThreads, final Runnable task) throws InterruptedException {
fin
- bleeding edge是什么意思
haojinghua
DI
不止一次,看到很多讲技术的文章里面出现过这个词语。今天终于弄懂了——通过朋友给的浏览软件,上了wiki。
我再一次感到,没有辞典能像WiKi一样,给出这样体贴人心、一清二楚的解释了。为了表达我对WiKi的喜爱,只好在此一一中英对照,给大家上次课。
In computer science, bleeding edge is a term that
- c中实现utf8和gbk的互转
jimmee
ciconvutf8&gbk编码
#include <iconv.h>
#include <stdlib.h>
#include <stdio.h>
#include <unistd.h>
#include <fcntl.h>
#include <string.h>
#include <sys/stat.h>
int code_c
- 大型分布式网站架构设计与实践
lilin530
应用服务器搜索引擎
1.大型网站软件系统的特点?
a.高并发,大流量。
b.高可用。
c.海量数据。
d.用户分布广泛,网络情况复杂。
e.安全环境恶劣。
f.需求快速变更,发布频繁。
g.渐进式发展。
2.大型网站架构演化发展历程?
a.初始阶段的网站架构。
应用程序,数据库,文件等所有的资源都在一台服务器上。
b.应用服务器和数据服务器分离。
c.使用缓存改善网站性能。
d.使用应用
- 在代码中获取Android theme中的attr属性值
OliveExcel
androidtheme
Android的Theme是由各种attr组合而成, 每个attr对应了这个属性的一个引用, 这个引用又可以是各种东西.
在某些情况下, 我们需要获取非自定义的主题下某个属性的内容 (比如拿到系统默认的配色colorAccent), 操作方式举例一则:
int defaultColor = 0xFF000000;
int[] attrsArray = { andorid.r.
- 基于Zookeeper的分布式共享锁
roadrunners
zookeeper分布式共享锁
首先,说说我们的场景,订单服务是做成集群的,当两个以上结点同时收到一个相同订单的创建指令,这时并发就产生了,系统就会重复创建订单。等等......场景。这时,分布式共享锁就闪亮登场了。
共享锁在同一个进程中是很容易实现的,但在跨进程或者在不同Server之间就不好实现了。Zookeeper就很容易实现。具体的实现原理官网和其它网站也有翻译,这里就不在赘述了。
官
- 两个容易被忽略的MySQL知识
tomcat_oracle
mysql
1、varchar(5)可以存储多少个汉字,多少个字母数字? 相信有好多人应该跟我一样,对这个已经很熟悉了,根据经验我们能很快的做出决定,比如说用varchar(200)去存储url等等,但是,即使你用了很多次也很熟悉了,也有可能对上面的问题做出错误的回答。 这个问题我查了好多资料,有的人说是可以存储5个字符,2.5个汉字(每个汉字占用两个字节的话),有的人说这个要区分版本,5.0
- zoj 3827 Information Entropy(水题)
阿尔萨斯
format
题目链接:zoj 3827 Information Entropy
题目大意:三种底,计算和。
解题思路:调用库函数就可以直接算了,不过要注意Pi = 0的时候,不过它题目里居然也讲了。。。limp→0+plogb(p)=0,因为p是logp的高阶。
#include <cstdio>
#include <cstring>
#include <cmath&