自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

ShineRoyal

No end on study.

  • 博客(57)
  • 资源 (14)
  • 收藏
  • 关注

原创 HDU 2795 Billboard 线段树 顺序点更新

原题: http://acm.hdu.edu.cn/showproblem.php?pid=2795题目大意: 有规格为h*w的广告牌,有n个高度为1的广告牌,优先从高处放,从左边放,求每个广告牌放的位置,放不了输出-1。这道题可以用线段树来做,把每排当作一个点,存放的是剩下的空间。 但是题目给的范围h、w是10^9,光是初始化就会超时。 细心我们会发现,广告牌最多有n个,即使每排只放一个,

2015-07-31 18:52:02 397

原创 HDU 1754 I Hate It 线段树 最大值 点更新

原题: http://acm.hdu.edu.cn/showproblem.php?pid=1754每次做的时候注意数组大小,还有想清楚查询函数的递归式里为什么不用更新l,r的值。注意递归的终点一定要可预料,否则跳不出递归。#include <iostream>#include"cstdio"#include"string.h"#include"stdlib.h"using namespa

2015-07-31 15:24:05 357 1

原创 HDU 1166 敌兵布阵 线段树 部分和 点更新

原题: http://acm.hdu.edu.cn/showproblem.php?pid=1166对于这种数据量较大的数组,并且经常对单个点进行更新和修改查询,线段树是一种很好的数据结构。 查询判断的时候注意取等,否则会TLE。 if(tree[id].l>=l&&tree[id].r<=r)建树,查询,更新代码如下:#include <iostream>#include"cstdio"#

2015-07-31 14:51:35 331

原创 HDU 2473 Junk-Mail Filter 并查集 删点

原题: http://acm.hdu.edu.cn/showproblem.php?pid=2473题目大意: 对于给定数据,有联系的属于一个集合,也可以将一些点剔出集合,最后共有多少个集合。 相比于上一题,这次多了个删点操作。 这里引入rep数组修改原来删除点的位置。用一个全新的点去代替被删的点,建立新的集合关系。#include <iostream>#include"cstdio"#

2015-07-31 11:27:19 528 1

原创 lower_bound 二分查找

必要头文件:#include <iostream>using namespace std;lower_bound 是STL函数库里面的一个查找函数。 函数参数的意义:int pos=lower_bound(a,a+10,b)-a;以上例来说,a是有序数组,10是数组的长度,b是待查找的元素,pos是返回位置。 lower_bound看起来只有三个参数,但其实是4个!lower_bound(查询

2015-07-30 19:00:01 1019

原创 手写二分查找

对于给定已排序数组的二分查找。因为每次对比之后mid位置并可能是结果,所以进行相应的加减并不会跳过结果。 左值加1和右值减1也不会担心边界取不到的问题。#include <iostream>using namespace std;int a[10]= {1,3,5,7,10,18,21,55,60,71};int erfen(int zuo,int you,int key){ int

2015-07-30 18:56:49 2004

原创 数据结构 并查集 路径压缩

经常会遇到对于给定的n个点,求出他们能否相互连通的问题,常规的做法可能是用二维数组进行标记处理,但是这样的空间使用是O(n^2),当数据量很大的时候,这个消耗是很恐怖的,所以这里我们引入并查集的这种数据结构。树是一种数据结构,它的特点在于所有的点有且仅有一个根节点,如果我们能构造一棵树,并把所有的树按照相互关系装入这棵树,那么他们就是属于一个集合,他们都互相连通的。我们可以用数组来构建这样一个模型。

2015-07-30 18:33:34 931 1

原创 HDU 1272 小希的迷宫 并查集

原题: http://acm.hdu.edu.cn/showproblem.php?pid=1272本题需要用到并查集的知识,并且在集合构成的过程中不能出现环路,而且不能有多个集合出现。 0 0也算是满足题意的。参考代码:#include <iostream>#include"cstdio"#include"stdlib.h"#include"string.h"using namespa

2015-07-30 16:23:19 362

原创 HDU 2141 Can you find it? 二分查找

原题: http://acm.hdu.edu.cn/showproblem.php?pid=2141题目大意: 四个数组,a,b,c,x。 第一排分别输入a的元素个数,b的元素个数,c的元素个数。 后面三排输入abc分别有哪些元素。 后面一排输入x的元素个数。 后面则输入x分别有哪些元素。暴力解法就是三重for循环,枚举所有情况是否满足和等于x。 显然,500*500*500*100

2015-07-29 19:35:01 434

原创 UVA 458 The Decoder 简单解密

原题: https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=399题目:The Decoder Write a complete program that will correctly decode a set of characters into a val

2015-07-29 18:34:17 669

原创 CodeForces 372A Counting Kangaroos is Fun 动物PK

原题: http://codeforces.com/problemset/problem/372/A题目大意: 找到尽可能多的两满足a*2<=b的一对数数(每个数只能用一次),最后输出总数-对数。如果我们直接比较并标记,需要用时是O(n^2),并且不一定能找到最优解。 这里的处理办法是先对所有数据排一次序。显然,对于n个数,最多有n/2组。如下: 当n为偶数时,如图,当n为奇数时,我们只

2015-07-29 18:30:05 887

原创 UVA 494 Kindergarten Counting Game 单词统计

原题: https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=435题目大意: 统计每行有多少个单词,单词应是连续的大小写字母。其他符号都视为单词间的分隔符。 用fgets读可以读空格。参考代码如下:#include <iostream>#include"

2015-07-29 18:13:09 337

原创 HDU 2046 骨牌铺方格

原题: http://acm.hdu.edu.cn/showproblem.php?pid=2046这道题我们可以模拟。 显然,当长度为1的时候,只有1种方案,当长度为2的时候,有两种方案。 当长度为3的时候,如果所示: 当第三个竖着放进去的时候,右边有两种情况,这恰好是长度为2的所有情况。 当第三个横着放的时候,下面是固定了的,右边恰好是长度为1的情况。 当长度为4的时候我们同样可以

2015-07-29 18:04:05 359

原创 POJ 1276 Cash Machine 最多机器

原题: http://poj.org/problem?id=1276题目大意: 输入最大背包容量,物品种类数,再依次输入物品数目和重量,求出最多能装多少容量的物品。 显然是一个需要用二进制优化的多重背包问题。

2015-07-29 10:41:46 354

原创 HDU 1864 最大报销额

原题: http://acm.hdu.edu.cn/showproblem.php?pid=1864简单的01背包问题,就是在数据的读入和判断麻烦了点,还有价值是两位数的小数,必须要乘以100才能处理成整数进行状态转移。

2015-07-29 10:22:51 398

原创 HDU 1963 Investment 最大利息

原题: http://acm.hdu.edu.cn/showproblem.php?pid=1963题目大意: 有一笔钱,可以按不同的金额存到银行,每年都有相应的利息。一定年限后要求有最多钱。注意存入的钱只会以1000的倍数。比如样例: 10000本金第一年买两次3000的,买一次4000的,就一共有10900元。 第二年因为900块用不出去,所以能用的钱和第一年一样,最后剩11800元。

2015-07-29 10:13:19 446

原创 HDU 1284 钱币兑换问题

原题: http://acm.hdu.edu.cn/showproblem.php?pid=1284这题一看就是学c语言百钱买百鸡的问题,所以我的代码是这样的。#include <iostream>#include"string.h"#include"cstdio"#include"stdlib.h"#include"algorithm"using namespace std;int m

2015-07-29 10:03:22 394

原创 HDU 2571 命运

原题: http://acm.hdu.edu.cn/showproblem.php?pid=2571题目:命运Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 13019 Accepted Submission(s): 4535Pr

2015-07-29 09:46:37 349

原创 HDU 1950 Bridging signals 桥接信号

原题: http://acm.hdu.edu.cn/showproblem.php?pid=1950题目大意: 要求连线不能交叉,换个思路理解,其实就是要求下一个点连接的序号要比上一个点的序号至少大1,(比上个序号小就会交叉,等于的话就连到一起了。。。),要求连接的数目最多,所以这就是求一个最大上升子序列。相信大家对于O(n^2)的算法都会了。这里介绍下O(nlogn)的算法。 O(n^2)的

2015-07-29 09:30:18 450

原创 HDU 1231 最大连续子序列

原题: http://acm.hdu.edu.cn/showproblem.php?pid=1231dp代表的是到当前位置的最大连续子序列的和。

2015-07-29 09:02:05 364

原创 HDU 1160 FatMouse's Speed 最优方案

原题: http://acm.hdu.edu.cn/showproblem.php?pid=1160题目大意: 把老鼠按肥胖值的严格升序排列,求速度的最大下降子序列。并输出这组最优方案。需要把体重、速度、序号绑定在一起,所以我们用结构体。 求最大下降子序列从后往前就是求的最大上升子序列。而求解的方法有很多种,其中的dp值有很多种意思,虽然都能输出最长的值,但是这里还要求输出最优解的组成,所以有

2015-07-28 21:18:01 423

原创 HDU 1159 Common Subsequence 公共子序列

原题: http://acm.hdu.edu.cn/showproblem.php?pid=1159题目大意: 求两个字符串的最长公共子序列。 以例题第一个例子为例: dp[i][j]横向表示第一个字符串,纵向表示第二个字符串,dp[i][j]表示从第一个字符串从一个到第i个与第二个字符串的第一个到第j个的公共子序列的长度。 第一步:拿第二个字符串的第一个字符去和第一个字符串比较。

2015-07-28 20:40:51 355

原创 HDU 1087 Super Jumping! Jumping! Jumping! 最大连续子序列和

原题: http://acm.hdu.edu.cn/showproblem.php?pid=1087原题大意: 从起点开始跳,第一次可以调到任意位置,后面就只能调到比它大的位置或者终点。 求跳过的点的和的最大值,其实就是求最大和的上升子序列。 状态转移方程:if(weight[i]>weight[j]) dp[i]=max(dp[i],dp[j]+weight[i]);当序列上升的时

2015-07-28 20:21:05 327

原创 HDU 2546 饭卡

原题: http://acm.hdu.edu.cn/showproblem.php?pid=2546这道题唯一的坑就是低于5元不能买,所以只需要把当前余额减去5再算就可以了。 显然,最后一件物品放价值最大的是最划算的,所以当我们余额减去5之后,就可以肆无忌惮的买买买了,反正最后5元能买最多的,就是赚的最多了。

2015-07-28 20:14:56 288

原创 HDU 2844 Coins 方案总数

原题: http://acm.hdu.edu.cn/showproblem.php?pid=2844题目大意: 给定n种货币的价值和数目和总价上限m,求能凑出多少种不同的面值。动态规划求解出的dp数组储存的是当前状态下能凑出的最大金额数。 这里用与dp等长的ans数组存储答案,每次求出一个dp值,对应位置的ans值++,只要ans值不为0,那么该面值就是可取状态。 最后遍历有多少个不为0即可

2015-07-28 19:59:44 298

原创 HDU 1059 Dividing 多重背包二进制优化

原题: http://acm.hdu.edu.cn/showproblem.php?pid=1059题目大意: 有面值分别为1,2,3,4,5,6的6种货币,输入相应的数据,输出能否均分两份。 其实是一个多重背包问题,背包容量为货币总价值的一半。 难点在于当数据太大的时候,循环次数太多会超时,这里我们使用二进制优化的思想,可以大大的缩小时间复杂度,从O(n)下降到O(logn)。这里解释下二进

2015-07-28 19:48:27 397

原创 HDU 1171 Big Event in HDU 多重背包01求解

原题: http://acm.hdu.edu.cn/showproblem.php?pid=1171题目大意: 给定物品的价值和数目,尽量平均分给两个人。其实就是让其中一个人挑选物品,让物品的价值尽量接近总价值的一半。其实就是一个多重背包问题,对于这种简单的数据量小的问题,如果我们把相同的物品看作不同物品,就可以把题目理解成所有物品只能选一次,我们可以用01背包的方式求解。 代码如下:#incl

2015-07-28 19:22:37 381

原创 HDU 1203 I NEED A OFFER! 最大概率

原题: http://acm.hdu.edu.cn/showproblem.php?pid=1203题目大意: 已知每个学校的花费和通过率,选择适当的学校以求最大的通过率。 如果我们要算通过的概率,情况就有很多种,但是不通过的概率只有一种,就是所有学校都不成功。 求最大通过率的问题就被转化成了最小失败的概率。 简单的01背包问题,只需要把dp的含义从最大利润变成最小概率。可用min函数进行状

2015-07-28 19:09:13 320

原创 HDU 1114 Piggy-Bank 存钱罐

原题: http://acm.hdu.edu.cn/showproblem.php?pid=1114原题大意: 给定已知背包容量,给定已知货物价格和重量,求出装满背包容量的时候价值最少的情况。常见的背包问题的状态转移方程都是用max函数得到最优解,而本例其实只需要把max改成min就行了,但是前提条件是要将dp数组初始化为无穷大,这样min才不会每次都得到0。不习惯用min的也可以用max,只需要

2015-07-28 18:57:45 693

原创 HDU 1176 免费馅饼

原题: http://acm.hdu.edu.cn/showproblem.php?pid=1176题目大意: 每秒可以选择左右移动一格,要求接到最多馅饼。只需要一个滚动数组就可以完成,这里用dp和dptemp来表示。 因为每次的下一秒可以左移一格右移一格或者原地不动,反过来看,所以每次的状态又可以由上一次状态的左移一格右移一格或者不动来决定。 dptemp[j]=max(dp[j-1],dp

2015-07-28 18:14:02 373

原创 POJ 1787 Charlie's Change 最多金币

原题: http://poj.org/problem?id=1787题意:输入需要凑齐的面值P,输入四种货币的数目,面值分别为1,5,10,25,求出一种可以凑齐P的方案,要求使用的金币数最多。显然,这种有数量限制的货币我们可以看作是多重背包,就按多重背包的处理方式求最大货币数。至于难点如何求出最大具体的方案,我们只需要用一个path[]数组保存过程就可以了。 path[j]=j-value[i]

2015-07-28 16:41:19 469

原创 HDU 5234 Happy birthday 最多蛋糕

原题: http://acm.hdu.edu.cn/showproblem.php?pid=5234题目大意: 从左上角出发,走到右下角,每次可以向右或者向下走,走过的地方有蛋糕数量,求不超过指定数量的最大值。如果只能向右走或者向下走,那么这是个01背包。 现在可以向右和向下,其实也是个01背包。三维数组dp[i][j][k],其中ij分别表示坐标,k表示当前当前背包容量,dp值为真表示满足从

2015-07-26 22:06:30 458

原创 CodeForces 556C Case of Matryoshkas 娃娃组装

原题: http://codeforces.com/contest/556/problem/C题目大意: 需要组装1到n的娃娃,组装前需要拆。 这道题我们可以看作是火车的拼接。 1是火车头必须在最前面不解释,后面必须跟着2,3,……n。 假设我们只有一个出发轨道,装完就出发了,那么最先装的就是1,然后是2…… 每次拆只能从后面拆1个,组装也是从后面添加一个,所以除了从1开始的连续序列可以保

2015-07-26 21:32:12 606

原创 CodeForces 471B MUH and Important Things 要求输出

原题: http://codeforces.com/contest/471/problem/B题目大意: 输入每个数的优先级梯度,输出可能出现的情况。显然,只要有三个数在同一优先级或者有两组两个数在同一优先级就可以输出结果。

2015-07-26 21:13:25 358

原创 CodeForces 527A Playing with Paper 折纸游戏

原题: http://codeforces.com/contest/527/problem/A题目大意: 给定的矩形,每次裁剪最大的正方形,直到最后剩下正方形,总共有多少个正方形。 显然,每次裁剪后,原来的宽和(长-宽)变成了现在的长和宽,直到长等于宽。代码如下:#include <iostream>#include"string.h"#include"cstdio"#include"

2015-07-26 21:08:29 694

原创 CodeForces 139A Petr and Book 看书

原题: http://codeforces.com/contest/139/problem/A题目大意: 一本书有n页,每天能看相应页数,周几能看完。 因为不超过1000页,这里给的暴力解法,其实可以先对每周的总数取余。

2015-07-26 21:02:45 463

原创 POJ 1001 Exponentiation 高精度指数

原题:: http://poj.org/problem?id=1001题目大意: 求a的b次方,注意要清楚后导0。c++不好写,java可以直接调用类。

2015-07-26 20:52:24 545

原创 HDU 4054 Hexadecimal View 十六进制

原题 http://acm.hdu.edu.cn/showproblem.php?pid=4054题目大意: 输出样例在内存中存储的十六进制数和大小写转换过的内容。 注意:前面的序号也是十六进制数。并没有什么难点。#include <iostream>#include"string.h"#include"cstdio"#include"stdlib.h"#include"algorith

2015-07-26 20:46:45 453

原创 HDU 1241 Oil Deposits 数草坪

原题: http://acm.hdu.edu.cn/showproblem.php?pid=1241题目大意: *为荒漠,@为草坪,草坪八个方向连接算相邻,求有多少个不相邻的草坪。简单的bfs就解决了

2015-07-26 20:43:39 329

原创 HDU 3023 Dirt 踩黑白块

原题: http://acm.hdu.edu.cn/showproblem.php?pid=3023题目大意: 输入起点,终点,地图。地图上0不能走,有1和2两种地板,分别代表干净和肮脏,从一种干净程度的点到另一种的要换鞋,每次前进有8个方向可选,要求换鞋的次数最少。使用bfs和优先队列即可。代码如下:#include<iostream>#include<cstring>#include<c

2015-07-26 20:36:12 532

h743_adc_8ch_dma_timer.ioc

STM32H实现8通道ADC采集(DMA+定时器触发)的CubeMX工程,使用PWM触发,HAL_ADC_Start_DMA启动。

2020-04-26

h743_adc_8ch_dma.ioc

STM32H实现8通道ADC采集(DMA+轮询)的CubeMX工程,使用HAL_ADC_Start_DMA进行AD数据获取

2020-04-26

h743_adc_8ch_poll.ioc

STM32H实现8通道ADC采集(连续转换序列+轮询)的CubeMX工程,使用HAL_ADC_PollForConversion进行AD数据获取

2020-04-26

f411-infrared.zip

基于stm32f411单片机,硬件HS0038H红外接收头,使用infrared组件(hwtimer和pin组件)实现红外接收头的NEC数据解析

2020-03-24

f411-timer.zip

基于stm32f411单片机,rt-thread下使用hwtimer的程序,实现定时器1、2、3、4、5、9、10、11的定时 操作。

2020-03-23

stm32f411rc-fal-onchip+sfud.zip

rtt studio工程,基于stm32f411单片机,通过fal驱动配置实现片上flash的读写访问和片外spi norflash的访问。

2020-03-20

stm32f411rc-fal.zip

rtt studio工程,基于stm32f411单片机,通过fal驱动配置实现片上flash的读写访问。

2020-03-20

f411-nano-sufd.zip

rtt studio工程,基于stm32f411单片机,通过sfud驱动配置的虚拟文件挂载Demo工程。

2020-03-20

2019.9.16 HAL库tim8可以输出指定脉冲.zip

根据CubeMX生成的TIM工程,参考原子的F1标准库代码,编写的程序。

2019-09-16

三线PT100仿真电路

Multisim仿真文件;使用TL431作为恒流源,采集三线PT100热电阻阻值,使用运放消除导线电阻。

2019-03-16

Newtonsoft.Json.dll

c#中Newtonsoft.Json.dll的文件,官方下载地址http://json.codeplex.com/ 比较慢,自己下载下来再传上来的。

2019-02-18

c#tcpClient发送和接收

最简单的tcpClient建立通信、发送数据、接收数据函数,编写TCP通信的第一步。

2019-02-13

使用朴素贝叶斯过滤垃圾邮件样本

机器学习实战中,使用朴素贝叶斯过滤垃圾邮件Demo的样本数据。

2018-10-07

光盘QT5开发及实例(第2版)

购买QT5开发及实例(第2版)对应的光盘文件资料,程序与书本配套使用

2018-10-06

空空如也

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

TA关注的人

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