- 基于keil的contiki系统的stm32移植
SZHjy
stm32stm32keilcontiki
一,全部代码的文件情况二,keil中文件包含情况三,源文件的修改情况1,contiki-2.5(基于这个版本内核),在cpu/arm/stm32f103文件夹下面修改clock.c文件中的函数voidclock_init(){if(SysTick_Config(SystemCoreClock/CLOCK_SECOND)){while(1);}}voidSysTick_handler(void){c
- git clone失败解决
你的温柔绕指柔
git
尝试了多种方式,最终解决了,但还是不确定是哪个方法解决的1、原始指令为gitclonegit://github.com/sdnwiselab/sdn-wise-contiki,尝试将git://换为http://或者https://,进行多次尝试;2、如果还不行,gitconfig--global--unsethttp.proxy,,取消代理;
- 物联网习题
ADoubleLiu
网络安全物联网
1(多选题)无线传感节点硬件组成包括正确答案:ABCD我的答案:ABCDA.传感器B.微处理器C.通信芯片D.供能装置(电源)2(多选题)通信芯片的传输距离主要受下面哪些因素影响?正确答案:AB我的答案:ABCDA.芯片的发射功率B.接收的灵敏度C.唤醒时间1(多选题)下面哪个是无线传感网络操作系统?正确答案:ABD我的答案:ABDA.TinyOsB.ContikiC.WindowsD.MOS2(
- ☆☆深度分析:物联网OS两强之争和中国厂商的机遇
脉清心爱
物联网EOS物联网OS
深度分析:物联网OS两强之争和中国厂商的机遇关键字:物联网OS;物联网操作系统;中国物联网厂商。虽然“物联网”之热有所冷却,但以企业为主体的务实创新阶段正悄然来临。物联网操作系统是ICT产业发展的竞争制高点。成熟的物联网操作系统尚属空白,正呈现着两条技术路线:一是以Contiki和TinyOS为代表的做加法路径;二是以iOS和Andriod为代表的做减法路径。不同技术路线的物联网操作系统尚未形成垄
- 【RL-TCPnet网络教程】第1章 当前主流的小型嵌入式网络协议栈
嵌入式系统OS
RL-TCPnet网络教程emWintcpnetFreeRTOSrtx
第1章当前主流的小型嵌入式网络协议栈这几年物联网发展迅猛,各种新产品、新技术也是层出不穷,本章节就为大家介绍当前主流的小型嵌入式网络协议栈。1.1当前主流的嵌入式网络协议栈1.2uIP网络协议栈介绍1.3LwIP网络协议栈介绍1.4Contiki物联网系统介绍1.5embOS/IP网络协议栈介绍1.6uC/TCP-IP网络协议栈介绍1.7MbedOS物联网系统介绍1.8FreeRTOS-TCP网络
- 基于物联网的防盗报警器设计与实现
biyezuopin
物联网防盗报警器Eclipse+ADTWiFi模块数LoRa通信
目录1绪论11.1研究内容及意义11.1.1研究背景及意义11.1.2主要研究内容11.2相关技术与模块介绍11.2.1LoRa概述11.2.2WiFi概述11.2.3Contiki概述21.2.4MPU6050概述21.2.5物联网三层架构22需求分析32.1非机动车防盗报警32.2大型场馆展品防护报警32.3国家能源产所监测32.4家居生活防盗监测32.5系统优点概述33功能设计53.1防盗检
- 基于Contiki-NG系统设计的IPv6智能插座
ltmprogram
项目概述本文基于contiki-ng系统在硬件平台nrf52840上完成了一种计量插座的设计。插座之间使用IPv6协议族组成一个无线传感网,将采集到功率、电压、电流数据上传到指定IP地址的平台。插座还有一个继电器可以远程控制负载设备通断电。IPv6网络协议族IPv6网络协议族上图展示了整个IPv6协议栈的组成,使用802.15.4标准定义的物理层和链路层,使用时隙跳频(TSCH)技术来降低网络功耗
- C++ Primer笔记1---chapter2易错点
Ston.V
C++Primerc++指针编程语言
1.在C++中char有无符号是不确定的,默认类型由编译器决定,需要你显示的说明unsignedorsigned。以前本科毕设将contiki移植到cc2530上时,就遇到过这个问题导致的死循环2.对于浮点用double,有10位有效数字(float常常精度不够但开销差不多),longdouble一般是没有必要的3.给无符号类型赋超过他的范围的值,结果为取模后的结果,给带符号类型赋超过他范围的值的
- IAR因版本不兼容打不开工程文件解决(Broken options、ICC8051、XLINK)
Sumjess
摘要:本文给出IAR因版本不兼容打不开IAR工作区遇到的各种问题及解决方法,包括依据提示修改版本,删除未知名称(ewp文件)。若还没解决,则创建新工作区、工程,并拷贝相关文件,我想这是一种通用化的解决方法(很诡异)。PS:本文以IAR工程项目ContikiCC2530Port为例,IARforMCS-51版本是7.51A。本文记录了整个调试过程,实际场景,不妨先跳到第三部分,看行不行,不行的话,再
- SDCC安装指南
Yubao Liu
contiki
参考网址:https://github.com/g-oikonomou/contiki-sensinode/wiki/Prepare-your-SystemPrepareyourSystemHomePrepareyourSystemDownloadandBuildContikiUnderstandCodeBankingAmoreup-to-dateversionofthisguidecanbefo
- SDCC 的源码安装
Sky-yxxy
contiki
直接使用apt-getinstallsdcc安装后编译contiki会提示找不到库文件,应该到官网下载源码,经如下修改参考博文:编辑device/lib/incl.mkMODELS=smallmediumlarge修改成如下:MODELS=smalllargehuge编辑device/lib/Makefile.inTARGETS+=modelssmall-mcs51-stack-auto修改成如下
- IPv6即将到来
mythfish
技术趋势点评
看到新闻:Cisco、Atmel和SICS近日共同发布了uIPv6,世界上最小的开发源码兼容IPv6协议栈,这套协议栈适用于开发源码的Contiki嵌入式操作系统。并且很多公司都在为IPv6做准备了,是个机遇。
- 基于STM32CubeMX在STM32F072C8T6移植Contiki OS
涛水
STM32
STM32CubeMX产生的工程上移植并验证contikiOS的详细记录,附操作手册《STM32F072C8T6移植Contiki记录.pdf》(位于工程目录中)和工程源码。下载地址:STM32F072C8_STM32CubeMX_Contiki_Test.rar
- STM32L073移植Contiki系统
你是恩赐亦是劫
Contiki
Contiki系统完全采用C语言开发,可移植性好,能够在各种微处理器上运行,在ARM硬件平台的运行也得到验证。目前,contiki相关的资料不是很多,对于初学者来说。可以参考Jelline大神的博客:http://blog.chinaunix.net/uid-9112803-id-2978041.html;也可以参考http://www.iotdev.net/forum.php上的一些资料。本篇只
- Contiki源码阅读之节点Rime地址
Json_cc
ZIGBEE
版本:Contiki3.x平台:TISmartRF06+cc2538EM网络:Rime----------------------------------------史上最牛逼分割线-----------------------------------------------文档说明:本文档主要描述Contiki3.X源码里边对设备节点的设置。---------------------------
- CC1310设计
kanta5857
CC1310有3种芯片封装,常用的是7XD(QFN48),这个版本的芯片资料最全。支持TIRTOS,contiki。适合开发各种应用。
- 通过bootloader用串口给CC1310和CC2650下载固件
knowic606
contiki
1.Contiki缺省设置没有enablebootloader,通过如下设置启用backdoor,修改contiki/cpu/cc26xx-cc13xx/lib/cc13xxware/startup_files/ccfg.c文件一下几项,其中,bootloader触发设置为Select按键低状态//#defineSET_CCFG_BL_CONFIG_BOOTLOADER_ENABLE0x00//D
- RT-thread finsh移植到linux平台
挥剑踏苍穹
嵌入式开发链接与装载
目录FinSH介绍传统命令行模式C语言解释器模式FinSH移植移植要点效果验证代码下载参考在一次项目中,需要进行嵌入式操作系统选型,需求就是选择一款OS,既能满足当下项目的需要,又要考虑公司未来对物联网应用的扩展能力,对比了目前市面上流行的开源操作系统,诸如FreeRTOS,RTX,UCOS,RT-Thread,contiki等,最终确定了一款IoTOS:RT-Thread(遵循ApacheLic
- Contiki入门学习【摘录】
ferlansue
contiki
该文章转载自该地址http://blogt.chinaunix.net/space.php?uid=9112803&do=blog&id=2829353一、Contiki简介Contiki是一个开源的、高度可移植的多任务操作系统,适用于联网嵌入式系统和无线传感器网络,由瑞典计算机科学学院(SwedishInstituteofComputerScience)的AdamDunkels和他的团队开发,已
- contiki学习笔记03
guanjianhe
contiki
contiki学习笔记03contiki是基于事件型驱动的操作系统,它传递事件的方式有两种,同步和异步。process_post_synch函数是同步,调用它可以马上执行相关的线程;process_post是异步,调用它会产生一个事件,等待下次在主函数中执行;具体看代码:voidprocess_post_synch(structprocess*p,process_event_tev,process
- SDCC使用说明
baskMMU
很苦恼,真的很苦恼。SDCC还真的是无法逃避的问题,但是全英文。真的欲哭无泪啊。开发环境已经定了,硬件平台是CC2530开发板,操作系统是Contiki,软件平台自然是Ubuntu了。不管怎样,把SDCC的基础使用方法记录下来吧。也是感谢网上众多大牛的分享,我也是东找一点西找一点的拼凑出这些使用方法。因为本身英语水平没法看。。。SDCC编译C文件的方法:命令:SDCCfilename.c(是不是简
- contiki学习笔记——IAR工程合集
xukai871105
物联网学习笔记
0.前言如果不熟悉linux的朋友可参考本博文的IAR工程合集,IAR工程合集的代码仓库位于github。计划共有3个部分,CC2530部分、MSP430F5438+CC2520部分和STM32+某种RF部分。【CC2530】——国内使用广泛,入门简单。【MSP430F5438+CC2520】——性能较好,入门和移植较CC2530复杂。【STM32+RF】——STM32使用广发,通过STM32掌握
- contiki--etimer详解
zplodge
Contiki内核是基于事件驱动和Protothreads机制,事件既可以是外部事件(比如按键,数据到达),也可以是内部事件(如时钟中断)。定时器的重要性不言而喻,Contiki提供了5种定时器模型,即timer(描述一段时间,以系统时钟嘀嗒数为单位)、stimer(描述一段时间,以秒为单位)、ctime(定时器到期,调用某函数,用于Rime协议栈)、etime(定时器到期,触发一个事件)、rti
- 协程与多线程的区别
weixin_34175509
转载:----------------------------------------------------------------------第一篇-------------------------------------------------------------------coroutine和真正的thread的区别挺多,但是也不好说是限制,须知Contiki的使用环境是传感器网络节点
- 基于异步竞争的无线传感器网络MAC层协议介绍(X-MAC ContikiMAC)
xiangwenchao712
无线传感器网络(wirelesssensornetworks,WSN)节点由电池供电,其能力非常有限,同时由于工作环境恶劣以及其他各种因素,节点能源一般不可补充。因而降低能耗、延长节点使用寿命是所有无线传感器网络研究的重点。WSN中的能量能耗主要包括通信能耗、感知能耗和计算能耗,其中通信能耗所占的比重最大,因此,减少通信能耗是延长网络生存时间的有效手段。同时,研究表明节点通信时Radio模块在数据
- 无线传感网络--开源框架Contiki3.0基本原理
陈杰森
IT学习
引言:在无线传感器的领域之中,Contiki是一个很好的开源框架。在IAR工作环境当中,利用Contiki框架对无线传感器模块进行烧写。接下来,就让笔者粗略分析一下Contiki框架的内容以及工作原理。1)以下是在IAR工作环境中的一段简易的利用Contiki编写的部分源码。大致过程是:将编写的程序以单个进程为载体调用Contiki框架中的库文件,依次调用库文件执行相应的操作。2)接下来分析一下C
- Contiki——Rime Stack分析
tietao
Contiki
一分析Rime的大概思路在Rime中,理解RimeStack的工作原理,首先要理解整体框架;之后要理解这里边的list,memb,packetbuf,channel,等几个部分;之后要明白chameleon的结构,以及一些具体实现;这几个部分中,以packetbuf和chameleon最为重要。像packetbuf.c,packetqueue.c是最基本的几个函数(当然list.c,memb.c,
- cc2538之ds18b20
开源的6lowpan
cc2538TinyOS例程实验
18b20,很常见的传感器了,软件编写重点主要就是在one-wire总线的时序上,相关的时序可以参考ds18b20不多做赘述;本次依然采用作者最熟悉的TinyOS平台+CC2538CB实现,由于ds18b20.c驱动文件直接采用c语言编程,contiki和RIOT也可直接使用,这里我就不移植过去测试了;源码在我的百度网盘;硬件连接:DQ使用PA5,(上拉)首先TinyOS部分编写APP;代码如下:
- CC2538之Contiki3.0实验:1-Contiki初探-新建空工程 编译
开源的6lowpan
contiki3.0tinyosContiki例程实验
contiki3.0网页doxygen:http://www.hopnetwork.com/contiki/index.html博客帖子已经介绍了TinyOS编程和实验例程;下面将来啃一下我一直特别排斥的Contiki首先不管Contiki那些概念;先编写一个空代码,类似大家初学编程的时候空工程;在contiki-3.0\examples\cc2538cb目录下新建一个文件夹,命名null;新建一
- CC2538之Contiki3.0实验:4-Sensor
开源的6lowpan
Contiki例程实验cc2538contiki3.0
相信大家看完前面作者的瞎掰也迷茫了,没错,Contiki的学习靠自己的努力辛苦,多去阅读代码,正如套用有一本物联网的书籍讲的“你不会C语言,那你来这干嘛”;在前面的基本介绍大家基本会Contiki的例程自我编写;Makefile编写,make编译,Process(pt/lc)等基础概念,知道Contiki没有那么复杂;只要你耐心去阅读他的代码,搞清楚他的逻辑;针对自己的平台通过串口打印一些比如si
- JAVA基础
灵静志远
位运算加载Date字符串池覆盖
一、类的初始化顺序
1 (静态变量,静态代码块)-->(变量,初始化块)--> 构造器
同一括号里的,根据它们在程序中的顺序来决定。上面所述是同一类中。如果是继承的情况,那就在父类到子类交替初始化。
二、String
1 String a = "abc";
JAVA虚拟机首先在字符串池中查找是否已经存在了值为"abc"的对象,根
- keepalived实现redis主从高可用
bylijinnan
redis
方案说明
两台机器(称为A和B),以统一的VIP对外提供服务
1.正常情况下,A和B都启动,B会把A的数据同步过来(B is slave of A)
2.当A挂了后,VIP漂移到B;B的keepalived 通知redis 执行:slaveof no one,由B提供服务
3.当A起来后,VIP不切换,仍在B上面;而A的keepalived 通知redis 执行slaveof B,开始
- java文件操作大全
0624chenhong
java
最近在博客园看到一篇比较全面的文件操作文章,转过来留着。
http://www.cnblogs.com/zhuocheng/archive/2011/12/12/2285290.html
转自http://blog.sina.com.cn/s/blog_4a9f789a0100ik3p.html
一.获得控制台用户输入的信息
&nbs
- android学习任务
不懂事的小屁孩
工作
任务
完成情况 搞清楚带箭头的pupupwindows和不带的使用 已完成 熟练使用pupupwindows和alertdialog,并搞清楚两者的区别 已完成 熟练使用android的线程handler,并敲示例代码 进行中 了解游戏2048的流程,并完成其代码工作 进行中-差几个actionbar 研究一下android的动画效果,写一个实例 已完成 复习fragem
- zoom.js
换个号韩国红果果
oom
它的基于bootstrap 的
https://raw.github.com/twbs/bootstrap/master/js/transition.js transition.js模块引用顺序
<link rel="stylesheet" href="style/zoom.css">
<script src=&q
- 详解Oracle云操作系统Solaris 11.2
蓝儿唯美
Solaris
当Oracle发布Solaris 11时,它将自己的操作系统称为第一个面向云的操作系统。Oracle在发布Solaris 11.2时继续它以云为中心的基调。但是,这些说法没有告诉我们为什么Solaris是配得上云的。幸好,我们不需要等太久。Solaris11.2有4个重要的技术可以在一个有效的云实现中发挥重要作用:OpenStack、内核域、统一存档(UA)和弹性虚拟交换(EVS)。
- spring学习——springmvc(一)
a-john
springMVC
Spring MVC基于模型-视图-控制器(Model-View-Controller,MVC)实现,能够帮助我们构建像Spring框架那样灵活和松耦合的Web应用程序。
1,跟踪Spring MVC的请求
请求的第一站是Spring的DispatcherServlet。与大多数基于Java的Web框架一样,Spring MVC所有的请求都会通过一个前端控制器Servlet。前
- hdu4342 History repeat itself-------多校联合五
aijuans
数论
水题就不多说什么了。
#include<iostream>#include<cstdlib>#include<stdio.h>#define ll __int64using namespace std;int main(){ int t; ll n; scanf("%d",&t); while(t--)
- EJB和javabean的区别
asia007
beanejb
EJB不是一般的JavaBean,EJB是企业级JavaBean,EJB一共分为3种,实体Bean,消息Bean,会话Bean,书写EJB是需要遵循一定的规范的,具体规范你可以参考相关的资料.另外,要运行EJB,你需要相应的EJB容器,比如Weblogic,Jboss等,而JavaBean不需要,只需要安装Tomcat就可以了
1.EJB用于服务端应用开发, 而JavaBeans
- Struts的action和Result总结
百合不是茶
strutsAction配置Result配置
一:Action的配置详解:
下面是一个Struts中一个空的Struts.xml的配置文件
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
&quo
- 如何带好自已的团队
bijian1013
项目管理团队管理团队
在网上看到博客"
怎么才能让团队成员好好干活"的评论,觉得写的比较好。 原文如下: 我做团队管理有几年了吧,我和你分享一下我认为带好团队的几点:
1.诚信
对团队内成员,无论是技术研究、交流、问题探讨,要尽可能的保持一种诚信的态度,用心去做好,你的团队会感觉得到。 2.努力提
- Java代码混淆工具
sunjing
ProGuard
Open Source Obfuscators
ProGuard
http://java-source.net/open-source/obfuscators/proguardProGuard is a free Java class file shrinker and obfuscator. It can detect and remove unused classes, fields, m
- 【Redis三】基于Redis sentinel的自动failover主从复制
bit1129
redis
在第二篇中使用2.8.17搭建了主从复制,但是它存在Master单点问题,为了解决这个问题,Redis从2.6开始引入sentinel,用于监控和管理Redis的主从复制环境,进行自动failover,即Master挂了后,sentinel自动从从服务器选出一个Master使主从复制集群仍然可以工作,如果Master醒来再次加入集群,只能以从服务器的形式工作。
什么是Sentine
- 使用代理实现Hibernate Dao层自动事务
白糖_
DAOspringAOP框架Hibernate
都说spring利用AOP实现自动事务处理机制非常好,但在只有hibernate这个框架情况下,我们开启session、管理事务就往往很麻烦。
public void save(Object obj){
Session session = this.getSession();
Transaction tran = session.beginTransaction();
try
- maven3实战读书笔记
braveCS
maven3
Maven简介
是什么?
Is a software project management and comprehension tool.项目管理工具
是基于POM概念(工程对象模型)
[设计重复、编码重复、文档重复、构建重复,maven最大化消除了构建的重复]
[与XP:简单、交流与反馈;测试驱动开发、十分钟构建、持续集成、富有信息的工作区]
功能:
- 编程之美-子数组的最大乘积
bylijinnan
编程之美
public class MaxProduct {
/**
* 编程之美 子数组的最大乘积
* 题目: 给定一个长度为N的整数数组,只允许使用乘法,不能用除法,计算任意N-1个数的组合中乘积中最大的一组,并写出算法的时间复杂度。
* 以下程序对应书上两种方法,求得“乘积中最大的一组”的乘积——都是有溢出的可能的。
* 但按题目的意思,是要求得这个子数组,而不
- 读书笔记-2
chengxuyuancsdn
读书笔记
1、反射
2、oracle年-月-日 时-分-秒
3、oracle创建有参、无参函数
4、oracle行转列
5、Struts2拦截器
6、Filter过滤器(web.xml)
1、反射
(1)检查类的结构
在java.lang.reflect包里有3个类Field,Method,Constructor分别用于描述类的域、方法和构造器。
2、oracle年月日时分秒
s
- [求学与房地产]慎重选择IT培训学校
comsci
it
关于培训学校的教学和教师的问题,我们就不讨论了,我主要关心的是这个问题
培训学校的教学楼和宿舍的环境和稳定性问题
我们大家都知道,房子是一个比较昂贵的东西,特别是那种能够当教室的房子...
&nb
- RMAN配置中通道(CHANNEL)相关参数 PARALLELISM 、FILESPERSET的关系
daizj
oraclermanfilespersetPARALLELISM
RMAN配置中通道(CHANNEL)相关参数 PARALLELISM 、FILESPERSET的关系 转
PARALLELISM ---
我们还可以通过parallelism参数来指定同时"自动"创建多少个通道:
RMAN > configure device type disk parallelism 3 ;
表示启动三个通道,可以加快备份恢复的速度。
- 简单排序:冒泡排序
dieslrae
冒泡排序
public void bubbleSort(int[] array){
for(int i=1;i<array.length;i++){
for(int k=0;k<array.length-i;k++){
if(array[k] > array[k+1]){
- 初二上学期难记单词三
dcj3sjt126com
sciet
concert 音乐会
tonight 今晚
famous 有名的;著名的
song 歌曲
thousand 千
accident 事故;灾难
careless 粗心的,大意的
break 折断;断裂;破碎
heart 心(脏)
happen 偶尔发生,碰巧
tourist 旅游者;观光者
science (自然)科学
marry 结婚
subject 题目;
- I.安装Memcahce 1. 安装依赖包libevent Memcache需要安装libevent,所以安装前可能需要执行 Shell代码 收藏代码
dcj3sjt126com
redis
wget http://download.redis.io/redis-stable.tar.gz
tar xvzf redis-stable.tar.gz
cd redis-stable
make
前面3步应该没有问题,主要的问题是执行make的时候,出现了异常。
异常一:
make[2]: cc: Command not found
异常原因:没有安装g
- 并发容器
shuizhaosi888
并发容器
通过并发容器来改善同步容器的性能,同步容器将所有对容器状态的访问都串行化,来实现线程安全,这种方式严重降低并发性,当多个线程访问时,吞吐量严重降低。
并发容器ConcurrentHashMap
替代同步基于散列的Map,通过Lock控制。
&nb
- Spring Security(12)——Remember-Me功能
234390216
Spring SecurityRemember Me记住我
Remember-Me功能
目录
1.1 概述
1.2 基于简单加密token的方法
1.3 基于持久化token的方法
1.4 Remember-Me相关接口和实现
- 位运算
焦志广
位运算
一、位运算符C语言提供了六种位运算符:
& 按位与
| 按位或
^ 按位异或
~ 取反
<< 左移
>> 右移
1. 按位与运算 按位与运算符"&"是双目运算符。其功能是参与运算的两数各对应的二进位相与。只有对应的两个二进位均为1时,结果位才为1 ,否则为0。参与运算的数以补码方式出现。
例如:9&am
- nodejs 数据库连接 mongodb mysql
liguangsong
mongodbmysqlnode数据库连接
1.mysql 连接
package.json中dependencies加入
"mysql":"~2.7.0"
执行 npm install
在config 下创建文件 database.js
- java动态编译
olive6615
javaHotSpotjvm动态编译
在HotSpot虚拟机中,有两个技术是至关重要的,即动态编译(Dynamic compilation)和Profiling。
HotSpot是如何动态编译Javad的bytecode呢?Java bytecode是以解释方式被load到虚拟机的。HotSpot里有一个运行监视器,即Profile Monitor,专门监视
- Storm0.9.5的集群部署配置优化
roadrunners
优化storm.yaml
nimbus结点配置(storm.yaml)信息:
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional inf
- 101个MySQL 的调节和优化的提示
tomcat_oracle
mysql
1. 拥有足够的物理内存来把整个InnoDB文件加载到内存中——在内存中访问文件时的速度要比在硬盘中访问时快的多。 2. 不惜一切代价避免使用Swap交换分区 – 交换时是从硬盘读取的,它的速度很慢。 3. 使用电池供电的RAM(注:RAM即随机存储器)。 4. 使用高级的RAID(注:Redundant Arrays of Inexpensive Disks,即磁盘阵列
- zoj 3829 Known Notation(贪心)
阿尔萨斯
ZOJ
题目链接:zoj 3829 Known Notation
题目大意:给定一个不完整的后缀表达式,要求有2种不同操作,用尽量少的操作使得表达式完整。
解题思路:贪心,数字的个数要要保证比∗的个数多1,不够的话优先补在开头是最优的。然后遍历一遍字符串,碰到数字+1,碰到∗-1,保证数字的个数大于等1,如果不够减的话,可以和最后面的一个数字交换位置(用栈维护十分方便),因为添加和交换代价都是1