大神养成中.....

______这边不更新了,新博客地址:yougth.top
私信 关注
Yoangh
码龄8年

奋斗的小程序猿

  • 1,268,251
    被访问量
  • 322
    原创文章
  • 2,712
    作者排名
  • 678
    粉丝数量
  • 毕业院校 手机
  • 目前就职 yangchuangl@163.com
  • 于 2012-10-25 加入CSDN
获得成就
  • 获得141次点赞
  • 内容获得192次评论
  • 获得275次收藏
荣誉勋章
兴趣领域
  • #算法
    #推荐算法#排序算法#分类#NLP
TA的专栏
  • 机器学习
    6篇
  • 推荐算法
    2篇
  • 比赛常用及心得
    34篇
  • 博弈
    7篇
  • 动态规划
    65篇
  • 搜索
    17篇
  • 贪心
    10篇
  • STL
    7篇
  • 数据结构
    16篇
  • 数论
    10篇
  • 基础
    21篇
  • 图论
    46篇
  • 大数
    8篇
  • 线段树
    12篇
  • 计算几何
    2篇
  • 想法
    3篇
  • python
    4篇
  • 图论~~网络流
    27篇
  • 矩阵
    2篇
  • 二分及三分
    1篇
  • java
    2篇
  • 零碎
    3篇
  • 2-set
    4篇
  • linux
    4篇
  • 最近
  • 文章
  • 资源
  • 问答
  • 课程
  • 帖子
  • 收藏
  • 关注/订阅

数理统计学简史_陈希孺-加书签优化.pdf

数理统计学简史_陈希孺-加书签优化.pdf
pdf
发布资源于 3 年前

线性回归多重共线性优化

问题引入之前分析了线性回归问题的解法,最小二乘回归法,但是对于大多数的实际问题,由于我们要用有限的观测值去估计模型的分布,比如在之前讲线性回归中的例子,给出的样例有100对,而我们建立的模型是一条直线,我们都知道两点确定一条直线,这里有100个点,这种称作过度确定估计,同时很多样例由于各种原因本身存在误差,另一个方面是特征之间相关性很大,说白了就是两个特征之间存在关系,本身可以用一个变量来表示,这样
原创
2411阅读
0评论
3点赞
发布博客于 4 年前

推荐算法基础--相似度计算方法汇总

推荐系统中相似度计算可以说是基础中的基础了,因为基本所有的推荐算法都是在计算相似度,用户相似度或者物品相似度,这里罗列一下各种相似度计算方法和适用点余弦相似度similarity=cos(θ)=A⋅B∥A∥∥B∥=∑i=1nAi×Bi∑i=1n(Ai)2−−−−−−−√×∑i=1n(Bi)2−−−−−−−√{\text{similarity}}=\cos(\theta )={A\cdot B \ov
原创
30282阅读
2评论
4点赞
发布博客于 4 年前

推荐算法基础--矩阵奇异值分解svd

在推荐系统中协同过滤应该算是大名鼎鼎了,基本上做推荐的线上都会用协同过滤,比较简单而且效果较好,而协同过滤又分为基于用户的和基于物品的,基本上原理就是“与当前用户行为相似的用户喜欢一个物品,那么当前用户也会喜欢这个物品”,或者“物品A和物品B同时都被一个用户群喜欢,那么认为他们相似”。而协同过滤算法主要有两个模型,最邻近点对模型和潜在语义模型,第一个比较常用且为大家熟知,因为就是定义权值计算相似度,
原创
6938阅读
0评论
2点赞
发布博客于 4 年前

机器学习基础--贝叶斯分类器

单纯的贝叶斯分类器很简单,基本上就是一个贝叶斯公式,要理解透彻贝叶斯分类器需要搞清楚两个概念似然函数基本上维基百科讲的很清楚,我这里在重复一下,可以直接去维基百科看 在数理统计学中,似然函数是一种关于统计模型中的参数的函数,表示模型参数中的似然性。似然函数在统计推断中有重大作用,如在最大似然估计和费雪信息之中的应用等等。“似然性”与“或然性”或“概率”意思相近,都是指某种事件发生的可能性,但是在统
原创
767阅读
2评论
1点赞
发布博客于 4 年前

boosting增强学习

boost是通过组合多个弱基学习器,弱学习器定义是泛化性能弱,略优于随机猜测的学习器,通过组合多个若学习器来得到一个强泛化能力的学习器(三个臭皮匠赛过诸葛亮)。根据单个学习器之间是强依赖以及不能串行序列化的学习代表算法是AdaBoost,另一种相反的方法是Bagging或者随机森林(Random Forest)adaboost讲解基本上上面讲解的非常详细,我这里说一点我的理解,boost首先跟决策树
原创
865阅读
0评论
0点赞
发布博客于 4 年前

机器学习基础--决策树

决策树是很基础很经典的一个分类方法,基本上很多工业中很使用且常用的算法基础都是决策树,比如boost,GBDT,CART(分类回归树),我们后需会慢慢分析,决策时定义如下: 决策树:决策树模型是一种描述对实例进行分类的树形结构,其算法思想是分治法,由节点(node)和有向边组成,节点分两种类型,内部节点和叶子节点,内部节点标示一个特征或者树形,叶子节点表示一个类。 比如下面就是一个根据西瓜一些特
原创
681阅读
0评论
0点赞
发布博客于 4 年前

逻辑回归

继续机器学习系列基础算法,逻辑回归定义问题首先我们依然是定义问题,逻辑回归是解决分类问题,而且是基本的二分类问题,比如经典的垃圾邮件判定,根据疾病的特征预测死亡率。比如现在我给出这样一个问题,基于邮件的两个特征值去判定邮件是不是为垃圾邮件,根据数据画出的分布图如下。蓝色表示不是垃圾邮件,红色表示是垃圾邮件,我们要做的是学习去拟合一个分类决策边界,然后就能根据这个模型预测。 逻辑回归分布设X是连续的
原创
2388阅读
0评论
1点赞
发布博客于 4 年前

线性回归最小二乘法和梯度下降法

问题描述首先我们定义问题,线性回归要解决的问题就是根据给出的数据学习出一个线性模型。 例如我们最常说的身高和体重的关系,以及房屋面积和房价的关系,这里给出一个瑞典汽车保险数据集 数据集 可以直接复制出来用 两列分别表示 索赔要求数量 对所有索赔的总赔付,以千瑞典克朗计 数据前五行108 392,519 46,213 15,7124 422,240 119,4我们按照这个数据
原创
14468阅读
1评论
5点赞
发布博客于 4 年前

Octave语法学习记录

数组和指针的区别数组直接从存储区获取,而指针需要先获取指针直线地址,然后去地址通过偏移量拿实际值,相当于指针保存数据的地址数组存储栈区,而指针存储在堆区是的本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Ma
原创
3861阅读
0评论
2点赞
发布博客于 4 年前

kafka+logstash搭建分布式消息订阅系统

首先安装kafka和它的依赖zookeeper我安装的zookeeper版本是zookeeper-3.4.8.tar.gz 直接解压到安装目录下,然后修改/conf/zoo.cfg dataDir修改到自己想要的目录即可。默认端口是2181,一般不需要修改 注意其依赖java,所以如果如果没有装jdk的话需要装一下。 启动命令:bin/zkServer.sh startkafka同样下载解
原创
1865阅读
0评论
1点赞
发布博客于 5 年前

进程与线程IPC-信号量(实现生产者消费者&哲学家就餐)

进程&线程IPC我们知道操作系统中的很重要的一个是线程&进程,而进程通信通常解决方案也适用于线程,反过来也一样,到线程中就是临界区的互斥访问,因此以下我们只讨论线程。方法忙等 (优先级反转问题导致死锁) 禁止中断 权利交给用户线程不明智对于多CPU 无法处理锁 读取与加锁不一致导致两个进程同时访问自旋锁 相互制约Peterson解法TSL指令阻塞等 sleep() & wa
原创
892阅读
0评论
0点赞
发布博客于 5 年前

面试题目记录

今天面了一个小公司,记录一下面试题目: 收获:多去接触实现一些底层的东西。一面(一个半小时) 1:写一个内存拷贝的函数(没写出来) 2:求一个字符串的最长回文(回答有加分,分析了动规和贪心区别) 3:tcp协议断开状态转换(加分TIME_WAIT) 4:写一个二叉树,递归和非递归版(非递归用了个栈实现,其实就是递归的编译器版本,不知道是不是面试官SB了过了)二面(半小时)
原创
856阅读
0评论
0点赞
发布博客于 5 年前

cmder使用记录

看android有个很好用的工具cmder。推荐一些设置dos下的编码:命令:chcp 65001补充部分字符编码对应代码:65001——UTF-8936——简体中文950——繁体中文437——美国/加拿大英语932——日文949——韩文866——俄文 Cmder是一款Windows环境下非常简洁美
原创
12932阅读
0评论
1点赞
发布博客于 6 年前

操作系统-进程通信

进程通信中的难点是对临界区的互斥访问,下面我们来看一下、忙等待的互斥锁变量 其实我们很容易想到的解决方案就是加锁,int lock,cnt;void solve_fork(){ while(lock==1); lock = 1; cnt++; printf("%d 进入了临界区
",getpid()); lock = 0;} 同时我们也很
原创
1419阅读
0评论
0点赞
发布博客于 6 年前

【CCPC】hdu 5547 Sudoku【dfs】

题目:hdu 5547 Sudoku题意:给你一个4*4的数独,让你填其中未知的数 坑点 1:虽然斜线不用满足每个格子唯一,但是4*4的格子分成4个,每个2*2的格子必须满足数独 2:答案不唯一的输出所有的情况,即暴力搜索的时候要回溯。ac代码:#include <iostream>#include <string>#include <vector>#include <algori
原创
1256阅读
0评论
0点赞
发布博客于 6 年前

vim配置文件记录

vim是程序猿的利器,这个不用我多说,这里记录一些我积累的配置文件和好用的工具ctags 类似于windows下面的source insight,就是会把一个项目中的文件依赖关系预处理出来,命令是: ctags -R * –>然后就预处理出来了之间的关系,然后在用的时候用 Ctrl+] –>跳转到其调用的文件中 Ctrl+t –>跳转回来 其实这些多不是重点,重点是这个
原创
866阅读
0评论
0点赞
发布博客于 6 年前

TCP/IP实现以及常见问题

三次握手连接建立其实看图会发现其实是很简单的一个过程首先,Client会发送一个SYN包,简单情况是SYN发送成功了,然后Client会把这个连接的Socket放入一个Socket等待队列,是Client这边维护的一个队列,,但是如果这里发送失败了,Server如果不给回复,它会按这个间隔去重新发送,3、6、12、24…重试十几次,会返回一个Connect Time out第二步,Server收
原创
1258阅读
0评论
0点赞
发布博客于 6 年前

HTTP协议详解

此文转载引言                                        HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的规范化工作正在进行之中,而且HTTP-NG(Next Generat
原创
778阅读
0评论
0点赞
发布博客于 6 年前

NYOJ 1068 ST(线段树插线问线)

题目:NYOJ 1068 ST其实线段树题目贵在对树的操作有一个清晰的认识,那些事需要回溯的时候维护的,那些是可以直接维护的,如果能够直接维护就不要放到回溯的时候,这样操作简单,不容易出错。比如这道题目,更新的时候是给【 l,r 】都加上一个值val,查询的时候成段查询一段的和喝一段的中奇数的个数。我们在建树的时候通过回溯求出初始值的和和奇数的个数,然后更新的值就可以直接维护了,每次给某一段加一个值
原创
606阅读
0评论
0点赞
发布博客于 6 年前

C++编译机制(vc++)

2015年9月10日早上10点,面试京东数字营销业务部机器学习系统架构工程师,二面挂在了C++编译机制上面,当然自己平时没有了解过这方面的东西,挂了也算是理所当然。网上这方面的资料不多,但是有一本翻译过来的好书, C++ Under The Hood 这本书里面详细的介绍了C++的编译机制,有兴趣的可以在这里看中译本面试官首先问我最近都看什么技术方面的书? 答:平常看C++的书也比较多,就
原创
1630阅读
0评论
0点赞
发布博客于 6 年前

Hdoj 5410 CRB and His Birthday【背包变形】

题意 现在有 m 块钱以及 n 种物品,然后每种物品价格 val,买 x 个送糖果 x * w1 + w2,问怎么买是的送的糖果最多?分析 一看就是很明显的背包,问题在于这个w2,我们知道普通的背包放进去的物体得到的价值只和放进去的数量成正比。这里不是正比,假如放了为正比+w2,所以这里还与放与不放有关系。 千万不要陷入放于不放中,其实我们可以对w2这里做一次0-1背包,价值为w
原创
1026阅读
0评论
0点赞
发布博客于 6 年前

Linux大神养成之正则表达式(grep,sed)

Linux大神养成之正则表达式grep命令参数:-A后面加数字,代表after,表示把该行的后续n行也列出来-B后面加数字,代表befer,表示把改行的前面n行也列出来$ dmesg | grep -n -A3 -B2 --color=auto 'eth'查找特定字符串$ cat -n regular_express.txt 1 "Open Source" is a good mech
原创
9244阅读
1评论
0点赞
发布博客于 6 年前

Linux操作利器之管道命令

管道命令管道命令:顾名思义,主要在管道二字上,意思就是把一些东西通过一个管道,变成你想要的样子,管道相当于一个过滤器,留下你想要看到的东西。Linux下面管道命令使用的是‘|’界定符,其格式为‘命令 | 命令’,即把前一个命令的输出作为第二个命令的输入,第二个命令一般是一个文档选取命令。选取命令cut,grepcut 按行处理文档参数:-d 后面接分隔符-f 后面接数字第几段-c 以字符为单
原创
1282阅读
0评论
0点赞
发布博客于 6 年前

实习面试经验谈

从区域赛搞完之后就一直在准备找实习的事情,看了几本书,然后6月末花了一周的时间面试了几家公司,然后就选了一家来上班了!关于投简历还是找学长推这个事情,当然是能有学长推最好了,你可以省去很多大范围投简历的时间(说的是我们弱弱校低学历,强校高学历就自不说了),今年找实习我想的是自己先投投看,然后最后要是实在简历过不了的话就找学长推,当然实践证明,自己投简历能过大公司的简历筛选的可能性非常低,而且能过的
原创
3496阅读
0评论
6点赞
发布博客于 6 年前

排序算法-堆排序

堆排序算法是建立在堆这种数据结构的基础上,其实堆听着很高端,其实很简单,就是一个二叉树,但是又特殊条件,就是其父节点比孩子节点都大(或都小)的堆称为最大堆(最小堆),瞬间感觉很简单了,最简单的保存方法就是直接用数组来保存。 给出一组数,我们要使用堆排序,首先需要建堆,但是这一组数首先肯定是不满足上面堆的性质的,所以我们需要调整,让他满足堆得性质,变成一个堆,怎么调整呢?拿最大堆来说,就是对于一个节
原创
2210阅读
0评论
0点赞
发布博客于 6 年前

排序算法-归并排序

归并排序也是一个比较快速的排序算法,其思想是运用分治的思想,先对要排序的数进行分,每次从中间分成两部分,然后知道分成最小,然后在把他们合起来,边合起来边排序,最后有序,每次分的复杂度是log(n),然后合起来变成有序的复杂度O(n),总的复杂度O(n*logn),速度比较快,但是每次合并要占用额外O(n)的空间,如果用链表实现的话可以避免,同时归并排序可用来求逆序对。比如给这样一组数 3 5 2
原创
1619阅读
0评论
0点赞
发布博客于 6 年前

百度移动搜索测试电面

在2015年6月11日早上11点收到百度测试一面电面! 对面试官的感觉很好,瞬间觉得百度挺不错的。 1:首先让我简单的介绍一下自己,可以从最近做的项目或者看的书? 然后我说没有做过项目,没有项目经验,然后就告诉他我其实大学期间一直在搞acm比赛。 2:然后说我的技能方面都有哪些? 然后就照着我的简历念了一遍 3:问我C++中堆内存和栈内存的区别 (其实早好刚好看过,然后刚开始有点紧张了
原创
2417阅读
1评论
8点赞
发布博客于 6 年前

python的GUI的运用(wxpython)

首先实现一个简单的记事本import wxapp = wx.App()win = wx.Frame(None, title = "Simple Editor", size = (410,335))bkg = wx.Panel(win) #背景组件loadButton = wx.Button(win, label = "Open", pos = (225,5), size = (80,25))
原创
5517阅读
0评论
0点赞
发布博客于 6 年前

poj 2296 Map Labeler【二分+2-set】【经典】

题目:poj 2296 Map Labeler题意:给出以下二维坐标点,然后让你往平面上放正方形,点必须落在正方形上面边的中点或者下面边的中点,正方形不能重叠,可以共用边。问最大正方形边的边长。分析:这种最大化最小值或者最小化最大值的问题,我们都可以种二分+判断的方法来解,这个也不例外,关键是判断部分 我们现在二分枚举边长为diff,然后所有的点就变成了在正方形上面或者下面的问题了,二选一的问题很
原创
2183阅读
0评论
0点赞
发布博客于 6 年前

poj 3207 Ikki's Story IV - Panda's Trick【2-set】

题目:poj 3207 Ikki’s Story IV - Panda’s Trick题意:给出一个有(0-n-1)组成的圆,然后连接上面的一些点,可以选择从圆内部连接或者内部连接,然后问你所有的都不想交可不可行分析:对于每条Link,要么在圆外,要么在圆内,且不可同时满足, 只能两者取一,判断这M条Link是否合法,也就是M条Link不冲突, 这就是典型的2-sat问题了。 将每条Link i
原创
846阅读
0评论
0点赞
发布博客于 6 年前

hdoj1814 Peaceful Commission【2-set】

题目:hdoj1814 Peaceful Commission讲解:这里 这是这个题目要输出字典序最小的解,刚好第一种暴力的解法输出来的就是原题目的解,因为每次染色的时候先染字典序小的,所以肯定对。 AC代码:#include <iostream>#include <cstdio>#include <cstring>#include <vector>#include <cmath>#i
原创
1214阅读
0评论
0点赞
发布博客于 6 年前

2-SAT问题的解法(uva1146)

SAT:就是一些由布尔值组成的关系的集合。 2-SAT:就是由两个布尔值组成的关系的集合。 2-SAT问题:就是给出一些关系,然后问能不能满足这些所有的关系? 现在比如说有n个国家,每个国家有两个代表,必须选出一个代表参加一个国际会议,但是有些代表之间有矛盾,现在给出这些矛盾的代表,问能不能选出满足条件的。 4个国家,代表编号为2*i,2 *i-1 这些代表有矛盾1和4,2和3,7和3
原创
5210阅读
0评论
4点赞
发布博客于 6 年前

排序算法—快速排序

首先快速排序,数据结构学完之后,把一些排序只是懂思想,一直没有实现,今天花时间实现了一下 快速排序的思想就是每次从一段中随机选一个数,把这一段中比它小的元素放在这个元素的前面,比它大的放在其的后面,然后运用分治的思想,在分别对以当前元素分开的两端分别进行这样的操作,递归即可,因为每次选择一个数是随机的,所以不太稳定,但是综合下来速度还是令人满意的 在hdoj上面测试了一下,和调用STL库函数的效
原创
1362阅读
0评论
0点赞
发布博客于 6 年前

无向图的割顶(poj1523,1144)

割顶:表示无向图中的点,这个点删除之后,原图不在联通,这样的点就是割顶。 怎么求一个图中的割顶呢? 把无向图变成一颗树,dfs时候搜索到在dfs树上的称为树边,搜索是出现后代指向祖先的边称为反向边。 对于根节点,当他存在两个或两个以上的子节点时,那么他就是割顶。 而对于其他节点u,当且仅当u存在一个子节点v,使得v及其所有的后代都没有反向边连回u的祖先时,u是一个割顶。 那么判断就很简单,
原创
1593阅读
0评论
0点赞
发布博客于 6 年前

第八届河南省省赛总结

这次比赛的吐槽点太多了,算是参加过的最奇葩的一场比赛吧,题目是郑州大学老师出的,太有局限性了,基本上除了水题就是图论,其他知识点一个没有,希望有关老师能够开放一点,把省赛的水平提上去,不然这样发展下去感觉真的参加省赛的意义不太大了,就只是玩玩而已。热身赛的话一道简单的类似于表达式求值的题目,一道水题,然后我们上去发现B题简单,先写了提交,返回wa,然后就测试了下打印代码,我上去写A题,A题写完的
原创
2060阅读
0评论
4点赞
发布博客于 6 年前

win8系统换win7系统时出现“windows无法安装到这个磁盘。选中的的磁盘采用GPT分区形式”解决方案

现在win8的磁盘普遍采用的是GPT分区,GPT是一种新的分区,有很多优势,所以现在的新的win8系统都采用的是GPT分区,而win7还采用的是老的MBR分区,而且只支持MBR分区形式,所以在预装win8的电脑上换win7需要先把磁盘格式转化为MBR。方法如下: 简单的办法,仍安装Win8系统;或者是转换磁盘分区格式为MBR,不用任何软件就可实现,需要重建分区表,会删除整个磁盘分区,记得要提前备份
原创
27458阅读
0评论
0点赞
发布博客于 6 年前

链表常用操作及面试题

链表是一种比较基础的数据结构,虽然在acm比赛中不常用,但是在面试中还是比较常问的,所以拿出来写了一下,发现很多错误,由于操作中用到很多指针,所以不经常写的话很容易写错。这里写了一下链表的创建,比较基础! 然后是删除链表的元素,需要考虑删除的是否为第一个元素。 然后是找链表的倒数第k个元素,可以用两个指针,一个指针后移k次,然后两个同时向后走,当先走k次的走到尾部的时候,另一个刚好到倒数第k个元
原创
3036阅读
0评论
0点赞
发布博客于 6 年前

poj 1952 BUY LOW, BUY LOWER[最长单调子序列变形]

题目:poj 1952 BUY LOW, BUY LOWER 题意:给出一个序列,先求最长单调递减子序列,然后求在子序列最长的情况下,不同的长度都为最长的的子序列的个数。(比如3,2,1和3,2,1属于相同,只能算一个)分析:首先用一个dp【i】表示到当前i点的最长子序列的长度 用dp2【i】表示最长为dp【i】的子序列的个数 然后dp【i】 = max(dp【j】)+1 (1<=j/****
原创
1195阅读
0评论
0点赞
发布博客于 6 年前

poj1947Rebuilding Roads(树形dp)

题目:poj1949Rebuilding Roads 题意:给出一棵树,问现在要得到一颗有p个节点的子树,需要最少减掉几条边?分析: 首先可以明确是一个树形dp题目,状态也很好定义: dp【root】【j】:以root为根节点的子树,得到 j 个节点的子树需要最少减掉的边数,注意子树中必须保留root节点。否则无法dp 那么很明显的边界条件dp【root】【1】 = num(儿子的个数),因
原创
2806阅读
6评论
0点赞
发布博客于 6 年前

混合图欧拉回路(hdoj3472 HS BDC)

欧拉回路基础知识戳这里混合图:就是图里面有的边是有向边,有的边是无向边,组成的图叫做混合图。 要判混合图是否满足欧拉回路,首先必须满足欧拉图的条件 1:欧拉回路要求所有点的度数必须都为偶数,欧拉道路要求所有点的度数两个奇数。 2:给无向的边定向,首先任意定向,这些便之间网络流建边from到to容量为1,然后对于当前入度大于出度的点y,说明有d = (入度-出度)/2的边需要变成相反方向,我们这
原创
1149阅读
0评论
0点赞
发布博客于 6 年前

兹鼓欧拉回路(hdoj2894DeBruijin&poj1392)

题意:让你构造一个环形的串,由二进制0,1组成,然后每截取不同的k个,组成的数都不相同,现在给你一个数k,然后构造字典序最小的串,使得满足截取的x长度的值都不相同。分析:这题目不太好理解,理解了就简单了。可以暴力搜索。 其模型是一个欧拉回路,首先x长度的0,1串组成的最大数为n=2^x-1. 怎么构造一个欧拉回路模型呢,假设首先由n个顶点编号(0,1,2…..n),现在任意给一个顶点编号f,我舍
原创
1175阅读
0评论
1点赞
发布博客于 6 年前

判欧拉回路或求一个图中欧拉图的个数

判欧拉图两个条件首先联通,其次度全部为欧度。那么就很easy了。 题目:hdoj1878求一个图中欧拉图的个数。 首先通过连通性求出各个子图,然后求子图中奇数度的个数cnt,cnt/2为欧拉图的个数。若子图没有奇数度,则为一个欧拉回路。 题目:hdoj3018Ant Trip 注意这个题目中可能出现孤立点,不算入欧拉图中。AC代码:include include include includ
原创
2299阅读
0评论
0点赞
发布博客于 6 年前

置换群题目汇总

首先介绍一下什么是置换群,不说一些繁琐的概念。 首先给你一个序列,假如: s = {1 2 3 4 5 6} 然后给你一个变换规则 t = {6 3 4 2 1 5} 就是每一次按照t规则变换下去 比如这样 第一次:6 3 4 2 1 5 第二次:5 4 2 3 6 1 第三次:1 2 3 4 5 6 发现经过几次会变换回去,在变换下去就是循环的了,这就是一个置换群。 我们可以
原创
5702阅读
0评论
6点赞
发布博客于 6 年前

hdoj 5072 Coprime 【想法+容斥原理】

题目:hdoj 5072 Coprime题意:给出n个数,然后让你从其中任意选出三个数满足其中三个数都互质或者都不互质,让你求满足这样选择条件的选择种数。分析:首先我们从反面考虑这个问题,一个满足条件的选择{ a , b , c },题目要求[(a, b) = (b, c) = (a, c) = 1] or [(a, b) ≠ 1 and (a, c) ≠ 1 and (b
原创
993阅读
0评论
0点赞
发布博客于 6 年前

第六届蓝桥杯软件大赛A组预赛

第六届蓝桥杯软件大赛A组预赛 方程整数解 方程: a^2 + b^2 + c^2 = 1000 (或参见【图1.jpg】) 这个方程有整数解吗?有:a,b,c=6,8,30 就是一组解。 你能算出另一组合适的解吗? a,b,c=10,18,24 请填写该解中最小的数字。 注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。 #include <iostream> #include <cstdio> #include <cstring> #include <string> #include <cmath> #include <vector> #include <algorithm> #include <map> const int N = 1001; using namespace std; int main() { int x,y,z; for(int i=1;i<=sqrt(N);i++) { for(int j=1;j<=sqrt(N);j++) { for(int k = 1;k<=sqrt(N);k++) { if(i*i + j*j + k*k==1000) { printf("%d %d %d\n",i,j,k); } } } } return 0; }
zip
发布资源于 6 年前

第六届蓝桥杯软件大赛A组预赛

以下只是我的个人答案,欢迎讨论指正!还有最后两题求正解方程整数解方程: a^2 + b^2 + c^2 = 1000(或参见【图1.jpg】)这个方程有整数解吗?有:a,b,c=6,8,30 就是一组解。你能算出另一组合适的解吗?a,b,c=10,18,24请填写该解中最小的数字。10注意:你提交的应该是一个整数,不要填写任何多余的内容或
原创
7364阅读
4评论
1点赞
发布博客于 6 年前

nyoj 1189 yougth和他的朋友们 (DP)

题目:nyoj 1189 yougth和他的朋友们这题目是14年北京赛区的原题,讲题的时候说有三种解法,我们是用dp做的当时,原题目链接:Happy Matt Friends题意就不在说了。因为要求的是满足条件的种数。我们定义状态dp【i】【j】:当我们把第 i 个数放进去之后得到 j 的种数是多少那么我们可以得到状态转移方程:dp【i】【j^ a [ i ] 】
原创
1021阅读
0评论
0点赞
发布博客于 6 年前

C++中文件的读出及写入

1>在C语言中,我们都知道怎样直接用txt文件输入以及把输出结果直接输出到文件中。写法很简单: freopen("Input.txt","r",stdin); freopen("Output.txt","w",stdout);是调一个通用的函数freopen,在头文件中,这个函数有三个参数,第一个表示读入或者输出文件的文件名,第二个有两个可选参数,“w”表示write,即写入
原创
20807阅读
0评论
6点赞
发布博客于 6 年前

linux 中vim的用法

vim的命令的一些格式1:vim xxx直接打开一个xxx命名的vim文件,如果没有的话直接创建一个新的。默认光标定义到第一行2:vim + xxx打开光标并定义到最后一行3:vim +num xxx打开光标定义到第num行4:vim +/name xxx打开光标光标出现在xxx文本中第一次出现name的行,并且按字母n可以在name出现的几行之间来回切换5
原创
2168阅读
0评论
0点赞
发布博客于 6 年前

快速排序算法sort分析

快速排序的思想是分治法的思想。一般是按照这个序列的首元素为 mid 基准,把比比mid大的元素放在后面。比 mid 小的元素放前面。然后依次递归,把在 mid 前面的所有元素当成一个新的序列进行刚才的操作,在mid后面的元素看成一个新的序列也进行这样的操作,直到这样得到的序列为一个元素。则排序完成。当然为基准的元素不一定非要是1:首元素,也可以选2:末尾元素,或者3中间位置元素,4取首、末
原创
1375阅读
1评论
1点赞
发布博客于 6 年前

java GUI(图形用户界面)练习

6.1.3 一个简单的GUI程序package six; import javax.swing.*; import java.awt.*; import java.awt.event.*; public class Main { private static int numclicks = 0; //记录次数 private static JFrame frame = new
原创
5587阅读
0评论
2点赞
发布博客于 7 年前

python学习记录

python函数记录map() 接收一个函数和一个序列,然后保留函数返回的结果的序列reduce() 接收一个函数和一个序列 函数结果为一个值,运算过程就是从序列的第一个值开始传给函数,返回结果再次传入函数,直到最后得到一个结果。filter() 过滤函数 接收一个函数和一个序列 然后函数返回true和false,保留序列中的返回true的。def is_odd(n): r
原创
1281阅读
0评论
1点赞
发布博客于 7 年前

poj 3723 Conscription 【最大生成树|最大权森林】

题目:poj 3723 Conscription题意:要征兵n个男兵和m个女兵,每个花费10000元,但是如果已经征募的男士兵中有和将要征募的女士兵关系好的,那么可以减少花费,给出关系,求最小花费。分析:这个题目初始一个是个二分图,以为可以从这里入手,但是这个题目这个性质没用。初始花费没人10000,那么减去其中有关系的就是当前的花费。要是花费最少,那么减去的最大即
原创
4865阅读
1评论
1点赞
发布博客于 7 年前

poj 3255 Roadblocks【次短路】

题目:poj 3255 Roadblocks题意:给出一个无向图,然后求1到n点的次短路分析:两种做法,第一种,Astat+最短路求k短路的方法。第二种是比较暴力的方法。先求1点到所有点的最短路dis1然后求n点到所有点的最短路dis2然后枚举所有边,则次短路为dis1【from】 + dis2【to】 + w【i】中大于最短路的最短的。AC代码
原创
1078阅读
0评论
0点赞
发布博客于 7 年前

hdoj 5125 Little Zu Chongzhi's Triangles【状态压缩dp】

题目:hdoj 5125 Little Zu Chongzhi's Triangles题意:给出n个木棍的长度,然后问这些木棍所能组成三角形的最大面积。分析:这个题目用状态压缩解,因为木棍的最大个数为12我们枚举所有状态,用状态对应位的 0 和 1 表示这个木棍是否选择,然后如果某个状态选择的木棍是3的话,判断是否可以组成,可以的话dp【st】 = 三角形面积然后大
原创
1361阅读
0评论
1点赞
发布博客于 7 年前

hdoj 5137 How Many Maos Does the Guanxi Worth【最短路】

题目:hdoj 5137 How Many Maos Does the Guanxi Worth题意:给出一个无向图n个点m条边,断开其中的除了1和n之外的其中一个点的所有边,让最短路最长。分析:思路已经题意中给出了。枚举删去那些的所有变,然后求一个最大的最短路。就是写代码的事儿AC代码:#include#include#includeusing na
原创
1458阅读
0评论
0点赞
发布博客于 7 年前

acdream 1429 Rectangular Polygon【dp】

题目:acdream 1429 Rectangular Polygon题意:给出n个数,是边长,然后问你能不能组成多边形,其边必须是平行于x轴或者平行于y轴的。如果可以的话输出任意一种方案。分析:分析发现,就是给你一堆数,然后让你尽可能挑出多的数,分成两部分的和相等,我们可以用dp来解决这个问题。定义dp【i】【j】 前 i 个数中挑出一些书其两部分的差值是 j
原创
1231阅读
0评论
0点赞
发布博客于 7 年前

nyoj 1111 游戏人生 【区间dp】

题目:nyoj 1111 游戏人生 题意:在一条直线上有n只狼,每只狼有自己的攻击力和辅助攻击,辅助攻击对旁边的两只狼有,问怎样的一个杀怪顺序才能使得花费最小。分析:这是北京现场赛的题目,当时一眼看出来是区间dp,但是没有考虑计算一个区间之后两边的辅助攻击,也是很有没有做dp题目了。定义:dp【i】【j】为打从区间 i -- j 的怪的伤害,然后转移方程dp【i】【j】
原创
1376阅读
0评论
0点赞
发布博客于 7 年前

fzu 2150 Fire Game 【技巧BFS】

题目:fzu 2141 Sub-Bipartite Graph (贪心)
原创
5212阅读
4评论
0点赞
发布博客于 7 年前

JAVA中大数常用的函数

声明为 BigInteger 的 java.math 中的字段 static BigInteger BigInteger. ONE BigInteger 的常量 1。 static BigInteger BigInteger. TEN BigInteger 的常量 10。 static BigInteger BigInteger. ZERO
原创
9299阅读
0评论
1点赞
发布博客于 7 年前

JAVA的acm用法

import java.math.*;import java.util.*;public class Main { public static void main(String[] args) { Scanner cin = new Scanner(System.in); BigInteger c = new BigInteger("0"); while(cin.h
原创
3603阅读
0评论
0点赞
发布博客于 7 年前

poj 2763 Housewife Wind 【树链剖分维护树上权值和】

题目:poj 2763 Housewife Wind题意:给一个数,边之间有权值,然后两种操作,第一种:求任意两点的权值和,第二,修改树上两点的权值。分析:很基础的一个树链剖分维护树上权值和,第二道树链剖分题目,也错了好几次。而且这个题目卡vector。有点坑。AC代码:#include #include #include #include usin
原创
3432阅读
0评论
1点赞
发布博客于 7 年前

poj 2135 Farm Tour 【无向图最小费用最大流】

题目:poj 2135 Farm Tour 题意:给出一个无向图,问从 1 点到 n 点然后又回到一点总共的最短路。分析:这个题目不读仔细的话可能会当做最短路来做,最短路求出来的不一定是最优的,他是两条分别最短,但不一定是和最短。我们可以用费用流来很轻易的解决,建边容量为1,费用为边权,然后源点s连 1 ,费用0 ,容量 2 ,n点连接汇点,容量2,费用0,,就可以了。
原创
4313阅读
5评论
0点赞
发布博客于 7 年前

poj 2449 Remmarguts' Date 【SPFA+Astar】【经典】

题目:poj 2449 Remmarguts' Date题意:给出一个图,求k短路。算法:SPFA求最短路 + AStar下面引用大牛的分析: 首先,为了说话方便,列出一些术语:    在启发式搜索中,对于每个状态 x,启发函数 f(x) 通常是这样的形式:f(x) = g(x) + h(x)   
原创
1386阅读
0评论
0点赞
发布博客于 7 年前

LCA在线算法ST算法

求LCA(最近公共祖先)的算法有好多,按在线和离线
原创
20184阅读
4评论
14点赞
发布博客于 7 年前

poj 1470 Closest Common Ancestors 【Tarjan 离线 LCA】

题目:poj 1470 Closest Common Ancestors题意:给出一个树,一些询问。求LCA的个数、分析:很简单的模板题目,但是模板不够优秀,一直wa...RE,各种错误一下午,终于发现自己模板的漏洞了。AC代码:#include #include #include #include using namespace std;#def
原创
1465阅读
0评论
0点赞
发布博客于 7 年前

ZOJ Problem Set - 3195 Design the city 【Tarjan离线LCA】

题目:ZOJ Problem Set - 3195 Design the city题意:给出一个图,求三点的连起来的距离。分析:分别求出三点中任意两点的距离 / 2  = ansAC代码:#include #include #include #include using namespace std;#define N 50010#define M
原创
1205阅读
0评论
0点赞
发布博客于 7 年前

hdoj 2874 Connections between cities 【Tarjan离线LCA】

题目:hdoj 2874 Connections between cities题意:战争过后,一些城市毁坏了。意思图不连通,让你求任意两点的距离、分析:很明显求LCA但是图不连通,所以我们Tarjan的时候要对每个点进行。然后标记即可。另外,这个题目卡vector,看来以后要学着用数组模拟邻接表了。AC代码:#include #include #
原创
987阅读
0评论
0点赞
发布博客于 7 年前

hdoj 2586 How far away ? 【Tarjan离线LCA】

题目:hdoj 2586 How far away ?题意:给出一个有权树,求任意两点的之间的距离。分析:思想就是以一个点 root 作为跟变成有根数,然后深搜处理处所有点到跟的距离。求要求的两个点的LCA(最近公共祖先),然后ans = dis【x】 + dis【y】 - 2 * dis【LCA(x,y)】,可以画图分析一下就知道。求LCA我用的是Tarj
原创
1794阅读
2评论
1点赞
发布博客于 7 年前

poj 2942 Knights of the Round Table 【双连通缩点+判奇圈】【经典】

题目:poj 2942 Knights of the Round Table 题意:n个骑士经常一起开会,其中有一些两两相互憎恨,他们不能同一桌,开会要表决一些事情,所以必须奇数个人,最少3个,求永远也参加不了会议的人的个数、分析:这个题目两点首先,建图求双连通缩点建图的话,因为相互憎恨的不能再一块,所以要建补图,让能够在一起的所有的连接,这样的话,如果能存在环且环
原创
1107阅读
0评论
0点赞
发布博客于 7 年前

poj 3177 & 3352 【无向图双连通分量Tarjan】

题目:poj 3177 & 3352题意:大概意思就是给你一个无向图,让你添加最少的边,让所有点都双连通。分析:双连通的定义就是任意两个点至少有两条路可达。其实做法跟添加最少边强连通一样,先对图中已经双连通的缩点,然后重新编号。这就是著名的Tanjan算法。通过搜索的思想对所有存在环的边遍相同的号如果要让所有的点双连通,那么对于缩点后的图中如果度数为 1 的
原创
1365阅读
0评论
0点赞
发布博客于 7 年前

poj 2186 Popular Cows 【强连通】

题目:poj 2186 Popular Cows题意:n头牛,其中存在一些牛相互崇拜,具有传递性,问有多少头牛是被其他所有牛崇拜的。分析:建立一个有向图,然后强连通缩点,之后求出度为0的点,假如存在多个,那么ans = 0,因为缩点之后如果x崇拜y,x也崇拜z,那么肯定y和z不能互相崇拜,不满足。然后求出度为0的这个点缩点前环上有多少个点就ansAC代码:
原创
859阅读
0评论
0点赞
发布博客于 7 年前

poj 2553 The Bottom of a Graph 【强连通图中出度为0点】

题目:poj 2553 The Bottom of a Graph 题意:大概题意是给出一个有向图,求强连通缩点以后出度为0的点。分析:入门题目,先强连通缩点,然后表示出度为0的,枚举输出即可。#include #include #include #include #include using namespace std;const int N =
原创
1088阅读
0评论
0点赞
发布博客于 7 年前

poj 1236 Network of Schools 【强连通图】

题目:poj 1236 Network of Schools /*******以下kuang大神的解释,写的很好就不解释了*************************/强连通分量缩点求入度为0的个数和出度为0的分量个数题目大意:N(2各学校之间有单向的网络,每个学校得到一套软件后,可以通过单向网络向周边的学校传输,问题1:初始至少需要向多少个学校发放软件,使得网络内所
原创
1018阅读
0评论
0点赞
发布博客于 7 年前

poj 1679 The Unique MST 【次小生成树】【模板】

题目:poj 1679 The Unique MST题意:给你一颗树,让你求最小生成树和次小生成树值是否相等。分析:这个题目关键在于求解次小生成树。方法是,依次枚举不在最小生成树上的边,然后添加到最小生成树上,然后把原树上添加了之后形成环的最长的边删去,知道一个最小的。就是次小生成树。这些需要的都可以在求解最小生成树的时候处理出来。AC代码:#inc
原创
1340阅读
0评论
0点赞
发布博客于 7 年前

hdoj 5093 Battle ships 【二分图最大匹配】

题目:hdoj 5093 Battle ships题意:给你一个n*m的图,图中有冰山 ‘# ’,浮冰 ‘o’ 以及普通海 ‘ * ’,现在要在海中布置尽可能多的炮弹,炮弹不能突波冰山,不能让炮弹互相攻击到,问最大能不知多少个?分析:二分图的经典题目,关键在于怎么建图,图进行两次编号,按行编号,每一行中能攻击到的一块编号成相同的数,每一列同样,然后对行和列有编号的地方进行连
原创
1089阅读
0评论
0点赞
发布博客于 7 年前

hdoj 5087 Revenge of LIS II 【第二长单调递增子序列】

题目:hdoj 5087 Revenge of LIS II 题意:很简单,给你一个序列,让你求第二长单调递增子序列。分析:其实很简单,不知道比赛的时候为什么那么多了判掉了。我们用O(n^2)的时间求单调递增子序列的时候,里面在加一层循环维护sum数组,表示前面有几个可以转移当当前,求前面sum的和保存到当前。最后求最后一个sum【n-1】是否为1就ok,为1的话在
原创
1220阅读
0评论
0点赞
发布博客于 7 年前

poj 3468 A Simple Problem with Integers 【线段树-成段更新】

题目:poj 3468 A Simple Problem with Integers题意:给出n个数,两种操作1:l -- r 上的所有值加一个值val2:求l---r 区间上的和分析:线段树成段更新,成段求和树中的每个点设两个变量sum 和 num ,分别保存区间 l--r 的和 和l---r 每个值要加的值对于更新操作:对于要更新到的区间上面的区间,直接
原创
1001阅读
0评论
0点赞
发布博客于 7 年前

hdoj 4009 Transfer water 【无源点最小树形图】【好题】

题目:hdoj 4009 Transfer water题意:题目有点长,说是有个村子,有 n 户人家要用水,他们加的位置用三维坐标来表示(x,y,z),他们有两种选择:1:自己挖一口井,花费为 z * cost_x2:从别人家接个水管引过来,化为为距离 * cost_y,如果要引的地方比当前地方低的话,还要买一个水泵,花费cost_z。距离算法|x2‐x1|+|y2‐y1|
原创
967阅读
0评论
0点赞
发布博客于 7 年前

hdoj 2121 Ice_cream’s world II 【无根节点最小树形图】

题目:hdoj 2121 Ice_cream’s world II 题意:题目是一道躶题,给n个点,m条边的有向图,然后找一个点,到所有点的距离和最小,找出这个点并输入距离。分析:很明显是求一个最小树形图,但是没有说根节点,要找跟节点,我们可以虚拟一个节 点 x ,x 到所有节点连边距离为前面所有距离和+1为 dis 。然后从x 节点求一次最小树形图为ans,则ans
原创
1298阅读
0评论
0点赞
发布博客于 7 年前

最小树形图 【poj 3164 Command Network】

定义:在有向图上的最小生成树。算法过程:和最小生成树一样,不过这个不是无向图的,但是也可以用类似的算法,最小树形图的第一个算法数朱刘算法,依据最小生成树数算法形成的。我们知道,在最小生成树算法中,我们每次选长度最短的边,如果满足条件则加入最小生成树中,知道所有的点都在树中,最小树形图同样。首先和最小生成树一样,首先必须保证图联通,否则不能形成最小树形图。但是由于是有向的,而
原创
1098阅读
0评论
1点赞
发布博客于 7 年前

poj 2828 Buy Tickets 【线段树点更新】

题目:poj 2828 Buy Tickets题意:有n个人排队,每个人有一个价值和要插的位置,然后当要插的位置上有人时所有的人向后移动一位当这个插入到这儿,如果没有直接插进去。分析:分析发现直接插入移动的话花时间太多,我们可不可以用逆向思维。从后往前来,因为最后一个位置是肯定能确定的,而其他的则插入空的第某个位置。比如第一组样例:40 771 511 3
原创
937阅读
0评论
0点赞
发布博客于 7 年前

poj 2484 Cow Exhibition 【变形0-1背包】

题目:poj 2484 Cow Exhibition题意:给出n头牛,每头牛有一个幸运值 si 和聪明值 ti ,现在要选出一些牛,让两个值的和最大,前提是sum(si)和sum(ti)都是非负值。分析:此题数据量不大,可以暴搜+剪枝水过。这里要说的是0-1背包的思想,这个题目明显的变形就是物品有两个属性值,而且都要选最大的。那么我们可不可以把一个值固定下来来求另一
原创
922阅读
0评论
0点赞
发布博客于 7 年前

codeforces 482B. Interesting Array【线段树区间更新】

题目:codeforces 482B. Interesting Array题意:给你一个值n和m中操作,每种操作就是三个数 l ,r,val。就是区间l---r上的与的值为val,最后问你原来的数组是多少?如果不存在输出no分析:分析发现要满足所有的区间,而一个点上假如有多个区间的话,这个点的值就是所有区间或的值,因为只有这样才能满足所有区间的,把所有位上的1都保存下来了,
原创
2391阅读
1评论
1点赞
发布博客于 7 年前

uestc 250 windy数 【数位dp】

题目:uestc 250 windy数题意:windy定义了一种windy数。不含前导零且相邻两个数字之差至少为2的正整数被称为windy数。分析:首先定义dp【i】【j】:有 i 位最高位为 j 的出现次数。首先通过暴力预处理出dp值来。很明显其满足区间减法,通过求0---x的值通过区间减法求x---y 的。那么假如我们要求0---257的,
原创
2488阅读
0评论
0点赞
发布博客于 7 年前

ural 1057 Amount of degrees 【数位dp】

题意:求(x--y)区间转化为 c 进制 1 的个数为 k 的数的出现次数。分析:发现其满足区间减法,所以可以求直接求0---x 的转化为 c 进制中 1 的个数为k的数的出现次数。首先用一个数组f【i】【j】:表示前 i 位中有 j 位为 1 的个数。可以通过方程 f【i】【j】 = f【i-1】【j】 + f【i-1】【j-1】来预处理出来。对于要求的答案,我们可以借助
原创
2633阅读
1评论
1点赞
发布博客于 7 年前

ZOJ Problem Set - 3203 Light Bulb 【三分法】

题目:ZOJ Problem Set - 3203 Light Bulb 题意:如图,有个人在地上走,然后他的影子可以投影到墙上或者地上,问影子最长是多少?分析:我们知道,三分法是解决一个凹或凸函数的极大极小值,发现这个影子从刚好投影到右下角开始便是一个凸函数,他的影子长度是先递增后递减的,所以可以用三分法。三分法的原理:AC代码:#in
原创
1222阅读
0评论
0点赞
发布博客于 7 年前

2014鞍山现场赛部分题解。

首先说1004,是个比较坑的题目。题意:给出n个星星的位置,所有质量都为1,在一维坐标上,然后可以移动其中的k个,w是质量,di 是距离质心的距离,要求这样一个值 I 最小。首先说一下质心的定义:质量与位置的成绩和除以质量和。那么我们可以这样想,移动k个,那么会剩余ff = n - k 个,那么必然留下来相邻的是最优的,我们可以用O(n)的复杂度枚举所有相邻的 ff 个
原创
1433阅读
0评论
0点赞
发布博客于 7 年前

树链剖分详解及模板

这几天学习了一下树链剖分,顺便写一下我的理解、早上看了一下别人的讲解,云里雾里,终于算是搞懂了、树链剖分是解决在树上进行插点问线,插线问点等一系列树上的问题假如现在给你一棵树,然后没两条边之间有一条权值,有一些操作,1:x---y之间的最大权值是多少,2:改变x---y之间的权值当前这样的操作有很多,如果直接用暴力的方法的话肯定不行,那么就要想一个好的方法,我们可以想一
原创
24729阅读
3评论
29点赞
发布博客于 7 年前

spoj 375. Query on a tree 【树链剖分--插点问线 】

题目:spoj 375. Query on a tree题意:题意很清晰,就是给你一颗树,每两点之间有权值,然后改变一些权值,问一条路径上的最大值。分析:入门题目,直接套树链模板AC代码;#include #include #include #include using namespace std;const int N = 10010;#define
原创
2054阅读
0评论
0点赞
发布博客于 7 年前

uva 1220 - Party at Hali-Bula 【入门树形dp】

题目:uva 1220 - Party at Hali-Bula题意:一个公司员工要举行聚会,要求任意一个人不能和他的直接上司同时到场,一个员工只有一个支系上司,现在求最多有多少人到场,并且方案是否唯一分析:分析发现是要求一个树的最大独立集。这里可以用树形dp解决。定义dp【x】【0】:表示在 i 点不选 i 点的以 x 为子树的最大独立集 而dp【x】【1】 表示x到
原创
3233阅读
0评论
3点赞
发布博客于 7 年前

竞赛中常用的C++写法

首先是构造函数,重载#include #include #include #include #define maxn 65540using namespace std;struct Node{ int x,y; Node (int x = 0,int y = 0):x(x),y(y) {} //构造函数};Node operator + (const N
原创
2203阅读
0评论
0点赞
发布博客于 7 年前

codeforces 479B. Towers C - Exams【排序】

题目:codeforces 479B. Towers 题意:给出一个长度 n 的序列,最多可以有 k 次操作,每次选择一个一个最大的减1,最小的加1,然后问在最多k次操作之后的最小差值。很简单,练习一下python语法n,k = map(int,raw_input().split())l = map(int,raw_input().split())ans = []
原创
1174阅读
0评论
0点赞
发布博客于 7 年前

hdoj 1226 超级密码 【隐式图BFS】

题目:hdoj 1226 超级密码 分析:这题属于隐式图搜索,状态不是很明显,需要自己建立。其实搜索说白了就是暴力。这个题目就是,首先对给出的可以组成的所有的数依次枚举,长度从小到大。比如第一组样例,因为0不能出现在首位,那么我们枚举首位为1 和 7 看看漫步满足,满足的话枚举第二位10 11 17 以及 70 71 77 顺便保存他们取余 n 之后的值,这样就可以剪枝
原创
1082阅读
0评论
0点赞
发布博客于 7 年前

BestCoder Round #14 B 题 Harry And Dig Machine 【TSP】

题目:Harry And Dig Machine 题意:给一个m*n的矩阵,然后其中最多由10ge
原创
1080阅读
0评论
0点赞
发布博客于 7 年前

hdoj 1885 Key Task 【BFS+状态压缩】

题目:hdoj 1885 Key Task题意:给出一些点,然后有一些钥匙和门,钥匙拿到才可以打开门,问到出口的最短时间。分析:很明显的广搜 + 状态压缩题目。坑点:1:题目没读清楚,以为要把所有的们打开才能出去。AC代码:#include #include #include #include #include #include #include
原创
954阅读
0评论
0点赞
发布博客于 7 年前

hdoj 4790 Just Random 【数学】

题目:hdoj 4790 Just Random题意:给你两个闭区间【a,b】,【c,d】,分别从中等可能的跳出 x 和 y ,求(x+y)%p == m的概率分析:假如是【3,5】 【4,7】   p = 2 , m = 1;则所有的和7 8 9 108 910 119 1011 12 1 2 3 3 21后面一行出现次
原创
1191阅读
0评论
0点赞
发布博客于 7 年前

hdoj 4786 Fibonacci Tree 【生成树+想法】

题目:hdoj 4786 Fibonacci Tree题意:给出 n 个点 m 条边的图,边只有两种颜色,白色和黑色,让你判断能不能让一个生成树中白边的个数为斐波那契数。分析:这是个想法题目,前提是知道生成树的定义:生成树必须是所有点都在树中那么既然要是斐波那契数,我只要把白色边的最大个数和最小个数求出来,如果这个范围内有斐波那契数的话,那么就满足条件。当然
原创
1360阅读
0评论
0点赞
发布博客于 7 年前

hdoj 3376,2686 Matrix Again 【最小费用最大流】

题目:hdoj 3376 Matrix Again题意:给出一个m*n的矩阵,然后从左上角到右下角走两次,每次只能向右或者向下,出了末尾点其他只能走一次,不能交叉,每次走到一个格子拿走这个格子中的数字,求价值最大?分析:很明显费用流,开始想的到一种建图方案,但是那样的话流量全为负值的话会成一个环,所以果断换了。建图方案是:首先拆点,每个点拆成两个i 和 ii ,建边
原创
1591阅读
0评论
1点赞
发布博客于 7 年前