1.题目描述:点击打开链接
2.解题思路:本题利用递推关系解决。首先可以把“已经使用过的火柴数i”看做状态,可以得到一个图,从前往后每添加一个数字x,就从状态i转移到了i+c[x],其中c[x]代表数字x需要的火柴数。当i=0时不允许使用数字0(当n≥6,给答案单独加上1,代表整数0)。令d(i)表示从结点0到结点i的路径条数,则答案为f(n)=d(1)+d(2)+...+d(n)。
程序实现...
分类:
其他好文 时间:
2015-05-19 22:48:48
阅读次数:
139
题意:
给一个8*8的棋盘,上面有2格被挖掉,判断是否可以用1*2的长方形覆盖棋盘。
分析:
poj2446用的二分图匹配是这一类问题的通解。但这题只有恰好2个点被挖,所以有简便做法。可以把整个棋盘黑白染色(就像国际象棋那样),如果挖去的同色,则无法覆盖(这样导致剩余黑色格子数不等于白色格子数,每个1*2的长方形恰好覆盖一个黑色格和一个白色格)。
代码:
//poj 2495
//sep...
分类:
其他好文 时间:
2015-05-19 22:48:38
阅读次数:
222
今天在VMware虚拟机中经过千辛万苦终于安装好了Centos7。。
因为我在安装的时候有意的把网关设置好:
我是直接插网线就可以用,不需要拨号的网络。所以选择桥接模式。NAT也行。
不过启动CentOS7后发现系统还是不能上网。然后再设置网卡配置同样不行。经过上网查阅一番后,找到了原因了。...
分类:
其他好文 时间:
2015-05-19 22:49:45
阅读次数:
214
数据源(连接池)(1)我们之前使用JDBC进行数据库访问时,首先是获得一个JDBC连接,执行增删改查操作后,关闭数据库连接。
(2)但是我们使用的resultset、statement、conncetion在创建和关闭时都需要耗费较多时间,而且占用资源。特别是在企业级应用中,一般是很多人同时访问,如果每个人访问都给他们建立一个新的连接,并在使用完后又关闭,如果一个连接的建立和关闭以0.1秒计算,则...
分类:
数据库 时间:
2015-05-19 22:48:23
阅读次数:
202
这个题目思路是很简单的,我们只需要枚举每个定点作为目的地,然后再取其中距离总和最小的作为答案.开始的时候我用的是floyd一次就将所有点之间的最小距离求出来,但是超时了.
后面用的每次枚举一个点就用堆优化的求一次这个点到其余点的最短路,这样就可以过了.代码如下:/*
ID: 15674811
LANG: C++
TASK: butter
*/#include
#include<...
分类:
编程语言 时间:
2015-05-19 22:46:37
阅读次数:
152
1.题目描述:点击打开链接
2.解题思路:本题利用递推关系解决。建立一个多段图,定义状态d(i,j)表示“使用不超过i的整数的立方,累加和为j”的方案数。那么根据加法原理,如果没有选择数字i的立方和就得到了j,那么方案数就是d(i-1,j);如果选择了数字i的立方和才得到了j,那么方案数是d(i,j-i^3)。即:
d(i,j)=d(i-1,j)+d(i,j-i^3);
这个递推式还可以降低...
分类:
其他好文 时间:
2015-05-19 22:46:23
阅读次数:
139
通俗地说:动态规划就是将一个可以划分为子问题的问题进行递归求解,不过动态规划将大量的中间结果保存起来,不管它们是否会用得到,从而在后面的递归求解过程中可以快速求解。由此可以看得出来动态规划是一个以牺牲空间为代价换取时间的算法。
一、首先先观察问题是否符合动态规划最明显的两个特征:最优子结构和重叠子问题。
二、建立状态转移方程...
分类:
其他好文 时间:
2015-05-19 22:47:02
阅读次数:
204
在学习C语言的过程中,大家是不是和我一样,认为printf是一个神一样的函数?他可以接受不同数目,不同类型的参数,他到底是怎么实现的呢?
让我们去看一下它的源代码:
printf源代码:
int printf(const char *fmt,...)
{
int res;
va_list arg;
va_start(arg,fmt);
res = vprintf(fmt...
分类:
其他好文 时间:
2015-05-19 22:46:02
阅读次数:
143
hdoj1325 题目链接题意:
多组测试数据, 每组数据有多个数对, 表示一条有向边(即第一个数是第二个数的父节点), 以 0,0 为一组测试数据结束标志。当输入-1,-1时测试结束。 从那些给出的信息中判断是否是一棵树。
分析:
1、只可以有一个根节点, 也可以是一个点都没有的空树;
2、除了根节点, 每个点只有一个父节点。
3、因为只可以有一个父节点, 所以我们可以把一个合法的关系对...
分类:
其他好文 时间:
2015-05-19 22:48:20
阅读次数:
171
//预处理所有数的因数
//从前到后扫一遍,记录所有因子的最后一个位置,找出所有b[i]
//然后从后到前扫一遍,找出所有c[i]
#include
#include
#include
#include
#include
using namespace std ;
const int maxn = 100010 ;
typedef __int64 ll ;
vectorvec...
分类:
其他好文 时间:
2015-05-19 22:45:51
阅读次数:
209
light oj Basic Math 数论基础
1020 1078 1148 1179 1275 1297 1323 1349 1369 1410 1430...
分类:
其他好文 时间:
2015-05-19 22:46:30
阅读次数:
300
题目:
Remove all elements from a linked list of integers that have value val.
Example
Given: 1 --> 2 --> 6 --> 3 --> 4 --> 5 --> 6, val = 6
Return: 1 --> 2 --> 3 --> 4 --> 5
Credits:
Special...
分类:
其他好文 时间:
2015-05-19 22:45:51
阅读次数:
194
题目:
Given two binary trees, write a function to check if they are equal or not.
Two binary trees are considered equal if they are structurally identical and the nodes have the same value.
C代码...
分类:
其他好文 时间:
2015-05-19 22:47:09
阅读次数:
147
题目:
Merge two sorted linked lists and return it as a new list. The new list should be made by splicing together the nodes of the first
two lists.
C代码:
/**
* Definition for singly-linked list...
分类:
其他好文 时间:
2015-05-19 22:46:09
阅读次数:
141