【UOJ 17】飞扬的小鸟
UOJ 17 题意:在\(n\times m\)的网格中有一些柱子,它们可以通过的区间是\((L_i,R_i)\),位置在\(P_i\)。在第i个位置点击一次会使高度增加\(X_i\),不点击会使高度减少\(Y_i\)。可以重复点击,效果叠加。问最少需要多少次点击来通过这个游戏。或者输出最多能通过的柱子个数。 思路:考虑\(dp(i,j)\)表示到了\((i,j)\)这个点的最少点击次数。 然后转移方程如下:\(dp(i,j)=min dp(i-1,j-kX_{i-1})+k,dp(i-1,j
【Atcoder hbpc C 183】1=0.999...
Atcoder hbpc C 题意:给n个循环小数或者有限小数,问其中有多少个互不相同的。 思路:我的思路比较繁琐。 首先我们考虑分数化小数:假设原来的数是\(a.b(c)\),那么这个分数就是\(a+\frac{b}{10^{len_b}}+\frac{c}{10^{len_b}\times (10^{len_c}-1)}\)。 所以用4哈希判一下两个是否相同,需要注意我们的哈希模数必须都要取质数,因为需要取\(10^{\dots}\)、\(10^{\dots}-1\)的逆元。 这里我取的是
【Codeforces 212E】Restaurants
Codeforces 212 E 题意:给一棵树,其中删去一个点,剩余的联通块们同一个联通块都得涂同一个颜色(黑或白),问黑色涂的个数有可能是哪些。 思路:肯定是背包。 假设现在删掉\(u\)这个节点后剩下的联通块的大小们存在\(V\)数组内, 那么\(dp(i,j)\)表示到了第几个联通块,黑色涂了多少个是否有可能。 转移就是看当前的取不取。 即\(dp(i,j)=dp(i,j) \vee dp(i-1,j-V_i)\) 我第一开始笨笨地只是根所在的放到黑色,其它给白色。。。 其实这是没想清
手写SpringMVC实现
设计自己的MVC架构 1、读取配置 通过web.xml中加载我们自己写的MyDispatcherServlet和读取配置文件。 2、初始化 九大组件只需实现基本的: 1)、加载配置文件; 2)、扫描用户配置包下的类; 3)、通过反射机制实例化包下的类,并且放到ioc容器中(Map的键值对beanName-bean)beanName默认是首字母小写; 4)、初始化HandlerMapping 3、运行 1)、异常拦截 2)、获取请求传入的参数并处理参数 3)、通过初始化好的handlerMapp
吴恩达机器学习笔记61-应用实例:图片文字识别(Application Example: Photo OCR)【完结】
最后一章内容,主要是OCR的实例,很多都是和经验或者实际应用有关;看完了,总之,善始善终,继续加油!! 一、图像识别(店名识别)的步骤: 图像文字识别应用所作的事是,从一张给定的图片中识别文字。这比从一份扫描文档中 识别文字要复杂的多。 为了完成这样的工作,需要采取如下步骤: 1.文字侦测(Text detection)——将图片上的文字与其他环境对象分离开来 2.字符切分(Character segmentation)——将文字分割成一个个单一的字符 3.字符分类(C
winform中控件的简单数据绑定
是因为在学习组件开发过程中有个Bindable的属性,不明白意义,然后才接触到winform的数据绑定,想着先把数据绑定这块看一下,然后去测试下是否Bindable属性设为false,就不能绑定该属性了。数据绑定应该还是挺好用的,虽然还没有实际应用过。 在一些控件类似TextBox,Button...中有属性ControlBindingsCollection DataBindings,是一个Binding对象的集合,每一个Binding对象都是一个控件属性值与某对象属性的简单绑定,也就是说可以
【Codeforces 1073D】Berland Fair
【链接】 我是链接,点我呀:) 【题意】 题意 【题解】 我们可以从左到右枚举一轮。 定义一个cost表示这一轮花费的钱数 如果cost+a[i]<=T那么就可以买它,并且买下它(模拟题目要求) 那么我们累计这一轮可以买下的数量cnt 则显然我们不用每一层都这么枚举 直接累加答案就好 ans = ans + T/cost cnt; 然后令T=T%cost就好了 因为newT = beforeT%cost 所以newT = beforeT-xcost <cost cost(1+x)>before
Docker系列06:Docker-compose
1 什么是Docker-Compose Compose项目来源于之前的fig项目,使用python语言编写,与docker/swarm配合度很高。 Compose 是 Docker 容器进行编排的工具,定义和运行多容器的应用,可以一条命令启动多个容器,使用Docker Compose不再需要使用shell脚本来启动容器。 Compose 通过一个配置文件来管理多个Docker容器,在配置文件中,所有的容器通过services来定义,然后使用docker-compose脚本来启动,停止和重启应用
初识原型链——怎么画一条完整的原型链
关于原型链的知识,我刚开始就是看一篇一篇的博客,知识有点零碎,后面看了下《JS高级程序设计》,又大致整合了一下。下面记录的是,对于一条完整的原型链长什么样这个问题的思考。 一、疑惑 借用一段在《JS高级程序设计》中的一段代码: function Person(){}
Person.prototype.name = "Nicholas";
Person.prototype.age = 29;
Person.prototype.job = "Software Engineer";
Person.p
【数据结构】第三章学习小结
第三章知识小结 一.栈(特点是后进先出--LIFO) 1.抽象数据类型(ADT) ADT:stack InitStack(Stack &S); Push(Stack &S); Pop(Stack &S); 2.按照存储结构可分为:顺序栈,链栈 顺序栈的类型定义: const int MAXSIZE =100; typedef int ElemType;/*类型视情况而定,这里定义为int */ typedef struct { ElemType data[MAXSIZE]; int top;/
SCU 4584 tarjan+最大权闭合子图
把每个点的点权当做是W[i]-V[i] 题目一眼是最大权闭合子图 但是可能会有重边自环和环 需要先搞成简单图 再tarjan缩点 缩点后就是裸的最大权闭合子图 #include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int MAXN = 105000;
const int MAXM = 1000005;
const ll INF = 200000000050000LL;
int Head[M
day22 random模块
import random
#随机整数
random.randint(1,5) # 大于等于1且小于等于5之间的整数
random.randrange(1,10,2) # 大于等于1且小于10之间的奇数
#随机选择一个返回
random.choice([1,'23',[4,5]]) # 1或者23或者[4,5]
#随机选择多个返回,返回的个数为函数的第二个参数
random.sample([1,'23',[4,5]],2) # 列表元素任意
Maven 项目中使用mybatis-generator生成代码
在使用Maven构建SSM项目时,使用mybatis-generator插件自动生成代码 一、目录结构 bean:用来存放生成的实体类 dao:用来存放生成的 *mapper.java文件 mapper:用来存放生成的 *mapper.xml文件 二、 generatorConfig.xml文件,配置相关信息 <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfiguration
PUBLIC "-//
socket 长连接
实现: 长连接的维持,是要客户端程序,定时向服务端程序,发送一个维持连接包的。 如果,长时间未发送维持连接包,服务端程序将断开连接。 服务端: 由于客户端会定时(keepAliveDelay毫秒)发送维持连接的信息过来,所以,服务端要有一个检测机制。 即当服务端receiveTimeDelay毫秒(程序中是3秒)内未接收任何数据,则,自动断开与客户端的连接。 ActionMapping的原理与客户端相似(相同)。 通过添加相应的ObjectAction实现类,可以实现不同对象的响应、应答过程
Accept 与 Content-Type
Accept Accept 表示请求方希望的资源类型,或者能解解析识别的类型 Content-Type 表示实际发送的资源类型 这里资源类型通过 MIME types 表示。 Accept 是浏览器发送的请求头,用于表示想要的资源类型。根据请求的上下文不同,所设置的 Accept 请求头会相应变化。服务器根据 content negotiation 规则选择最合适的类型设置 Content-Type 并返回。 例如请求路由页面时,Chrome 设置 Accept 为 Accept: text/
UOJ143 万圣节的数列 构造
传送门 做过这道题,然后这道题告诉你怎么构造数据…… 一种可行的构造方式是:将奇数和偶数分成两半,奇数放在偶数前面,然后除以2,再递归下去处理。 构造的正确性是显然的:如果存在“奇数偶数奇数”或者“偶数奇数偶数”的等差子序列,会在当前层被分离,否则除以2之后,“奇数奇数奇数”和”偶数偶数偶数“的等差子序列的公差会/2,那么这些等差子序列在递归到某一时刻也会变为”奇数偶数奇数“或者”偶数奇数偶数“的等差子序列。 不难发现上面的构造方式相当于对二进制翻转之后排序输出。 #include<iostr
今日推荐
周排行