<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[ain1847的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/ain1847</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; ain1847]]></copyright><item><title><![CDATA[SSH(Struts、Spring、Hibernate)三大框架整合]]></title><link>https://blog.youkuaiyun.com/ain1847/article/details/102252166</link><guid>https://blog.youkuaiyun.com/ain1847/article/details/102252166</guid><author>ain1847</author><pubDate>Sat, 20 Apr 2019 20:48:00 +0800</pubDate><description><![CDATA[1. 新建数据库ssh_db -&gt; 新建表user_tb（id为主键，自动递增)

 2. 导入jar包（struts、hibernate 和 spring）
 
3. 注册页面reg.jsp，将表单的 action 属性设置为 handleAction，input 元素的 name 属性值加上前缀“user.”，如user.username

&lt;%@ ...]]></description><category></category></item><item><title><![CDATA[动态规划（dp）专题]]></title><link>https://blog.youkuaiyun.com/ain1847/article/details/102252165</link><guid>https://blog.youkuaiyun.com/ain1847/article/details/102252165</guid><author>ain1847</author><pubDate>Wed, 05 Dec 2018 18:15:00 +0800</pubDate><description><![CDATA[航线设置     
问题描述在美丽的莱茵河畔，每边都分布着N个城市，两边的城市都是唯一对应的友好城市，现需要在友好城市间开通航线以加强往来，但因为莱茵河常年大雾，如果开设的航线发生交叉就有可能出现碰船的现象。现在要求尽可能多地开通航线并且使航线不能相交。输入有若干组测试数据，每组测试数据的第一行是一个整数n，它表示每边都分布着n个城市(1&lt;=n&lt;=1000)。接着...]]></description><category></category></item><item><title><![CDATA[HDU 2200 Eddy's AC难题]]></title><link>https://blog.youkuaiyun.com/ain1847/article/details/102252164</link><guid>https://blog.youkuaiyun.com/ain1847/article/details/102252164</guid><author>ain1847</author><pubDate>Thu, 29 Nov 2018 20:27:00 +0800</pubDate><description><![CDATA[解析：
1、可以从中任选m个人(n=&gt;m&gt;=2)，有Cn(m)中选择;
2、再把这m个人分2组(每个人都要分组)，要使满足最小ac数大于最大ac数，只需要在m个人中插板即可；
例如：
m个人假如分别为 ：
1，2，3，4，......m-1，m (m个人的ac数从小到大排列)
只需在任意位置插板就可分为符合要求的2组：
1，2，3......t， || t+1....]]></description><category></category></item><item><title><![CDATA[POJ 1948 Triangular Pastures]]></title><link>https://blog.youkuaiyun.com/ain1847/article/details/102252163</link><guid>https://blog.youkuaiyun.com/ain1847/article/details/102252163</guid><author>ain1847</author><pubDate>Mon, 19 Nov 2018 12:13:00 +0800</pubDate><description><![CDATA[题意:
把很多单独的线段重新组合成一个三角形，使得三角形面积最大(所有的线段都必须用上)。
思路：
三角形的任意一条边的边长不能超过周长的一半，只需要用dp枚举两条边j,k，剩下的一条边长为tot - j - k;判断枚举出的这三条边是否能组成三角形，用海伦公式求出面积
代码：

#include &lt;map&gt;
#include &lt;set&gt;
#in...]]></description><category></category></item><item><title><![CDATA[2018ACM/ICPC 青岛现场赛 E题 Plants vs. Zombies]]></title><link>https://blog.youkuaiyun.com/ain1847/article/details/102252161</link><guid>https://blog.youkuaiyun.com/ain1847/article/details/102252161</guid><author>ain1847</author><pubDate>Mon, 12 Nov 2018 17:22:00 +0800</pubDate><description><![CDATA[题意：
你的房子在0点，1,2,3，...，n(n&lt;=1e5)点每个点都有一颗高度为0的花，浇一次水花会长a[i]。
你有一个机器人刚开始在你家，最多走m步，每一步只能往前走或者往后走，每走到一个地方除了房子都会给花浇水，问m步以后最低那朵花的高度最大是多少。
思路：二分，并且可以证明左右横跳（即这一个点不够我们就来回走一直到够高度为止）。
需要注意步数用完直接break，...]]></description><category></category></item><item><title><![CDATA[三大博弈]]></title><link>https://blog.youkuaiyun.com/ain1847/article/details/102252162</link><guid>https://blog.youkuaiyun.com/ain1847/article/details/102252162</guid><author>ain1847</author><pubDate>Wed, 26 Sep 2018 20:23:00 +0800</pubDate><description><![CDATA[Bash 游戏
有一堆石子共有N个。A B两个人轮流拿，A先拿。每次最少拿1颗，最多拿K颗，拿到最后1颗石子的人获胜。
假设A B都非常聪明，拿石子的过程中不会出现失误。给出N和K，问最后谁能赢得比赛。
基础：1   ,   2, ...,    m是必赢局面，  m+1是必输局面递推：m+2,m+3, ... ,2m+1是必赢局面，2m+2是必输局面 ...]]></description><category></category></item><item><title><![CDATA[ACM-ICPC 2018年北京网络赛 D-80 days]]></title><link>https://blog.youkuaiyun.com/ain1847/article/details/102252159</link><guid>https://blog.youkuaiyun.com/ain1847/article/details/102252159</guid><author>ain1847</author><pubDate>Sun, 23 Sep 2018 19:38:00 +0800</pubDate><description><![CDATA[题意： n个城市环形连接，初始有c的钱，每到i城市，会获得a[i]的金钱，失去b[i]的金钱，问能否走遍这n个城市，且过程中金钱不为负数，输出起始城市，如果答案有多个，输出最小的数字。
思路：a[i]-b[i]的值就是到达第i个城市的金钱变化，最开始想到暴力枚举起点城市，模拟后续到其他城市的金钱变化，出现负数就break。但是，100个样例，1e6的数据，总共1e8的数据，感觉如果直接...]]></description><category></category></item><item><title><![CDATA[hdu 2062 Subset sequence]]></title><link>https://blog.youkuaiyun.com/ain1847/article/details/102252160</link><guid>https://blog.youkuaiyun.com/ain1847/article/details/102252160</guid><author>ain1847</author><pubDate>Sun, 09 Sep 2018 21:16:00 +0800</pubDate><description><![CDATA[题目分析
考虑一个集合 An = { 1, 2, ..., n}。比如，A1={1}，A3={1,2,3}。我们称一个非空子集元素的排列为一个子集序列。对所有的子序列按字典顺序排序。你的任务就是给出第m个子序列

首先我们来看看An一共有多少个子集。
n=1时,只有{1}一个子集合
n=2时，就有:
{1}, {2}, 
{1, 2}, {2, 1}
4个子集合。
...]]></description><category></category></item><item><title><![CDATA[hdu 2065(泰勒展式)]]></title><link>https://blog.youkuaiyun.com/ain1847/article/details/102252157</link><guid>https://blog.youkuaiyun.com/ain1847/article/details/102252157</guid><author>ain1847</author><pubDate>Mon, 30 Jul 2018 16:47:00 +0800</pubDate><description><![CDATA[比赛的时候遇到这种题，只能怪自己高数学得不好，看着别人秒。。。。
由4种字母组成，A和C只能出现偶数次。
构造指数级生成函数：(1+x/1!+x^2/2!+x^3/3!……)^2*(1+x^2/2!+x^4/4!+x^6/6!……)^2.
前面是B和D的情况，可以任意取，但是相同字母一样，所以要除去排列数。后者是A和C的情况，只能取偶数个情况。
根据泰勒展开，e^x在x0=0点的...]]></description><category></category></item><item><title><![CDATA[C printf按8进制、10进制、16进制输出以及高位补0]]></title><link>https://blog.youkuaiyun.com/ain1847/article/details/102252158</link><guid>https://blog.youkuaiyun.com/ain1847/article/details/102252158</guid><author>ain1847</author><pubDate>Fri, 27 Jul 2018 14:53:00 +0800</pubDate><description><![CDATA[1 int PrintVal = 9;
 2     /*按整型输出，默认右对齐*/
 3     printf("%d\n",PrintVal);
 4     /*按整型输出，补齐4位的宽度，补齐位为空格，默认右对齐*/
 5     printf("%4d\n",PrintVal);
 6     /*按整形输出，补齐4位的宽度，补齐位为0，默认右对齐*/
 7 ...]]></description><category></category></item><item><title><![CDATA[poj 1321棋盘问题]]></title><link>https://blog.youkuaiyun.com/ain1847/article/details/102252155</link><guid>https://blog.youkuaiyun.com/ain1847/article/details/102252155</guid><author>ain1847</author><pubDate>Sat, 21 Apr 2018 20:19:00 +0800</pubDate><description><![CDATA[题目链接：http://poj.org/problem?id=1321
dfs经典模板：

 1 dfs()
 2 {
 3     if条件判断——（到终点）
 4     {
 5         操作……
 6         return;
 7     }
 8     if……省略一些条件判断（剪枝优化，比如一些没必要的continue或者计算过的子问题的...]]></description><category></category></item><item><title><![CDATA[第一次训练题解]]></title><link>https://blog.youkuaiyun.com/ain1847/article/details/102252156</link><guid>https://blog.youkuaiyun.com/ain1847/article/details/102252156</guid><author>ain1847</author><pubDate>Mon, 16 Apr 2018 11:49:00 +0800</pubDate><description><![CDATA[poj3372 Candy Distribution
题目：http://poj.org/problem?id=3372
题意：n个学生围成一圈，老师给1号学生和2号学生每人一颗糖后，然后跳过一个学生给4号一颗糖，接着跳过两个学生给7号一颗糖，以此类推
分析：因为n达到10^9，不能用数组统计每个学生的状态，更不能使用暴力，会超时。但可以在一定范围内，写个小程序找规律（数值过大，须...]]></description><category></category></item><item><title><![CDATA[浅谈java中bigInteger用法]]></title><link>https://blog.youkuaiyun.com/ain1847/article/details/102252153</link><guid>https://blog.youkuaiyun.com/ain1847/article/details/102252153</guid><author>ain1847</author><pubDate>Fri, 13 Apr 2018 20:58:00 +0800</pubDate><description><![CDATA[1.赋值：
BigInteger a=new BigInteger("1");
BigInteger b=BigInteger.valueOf(1);
2.运算：
① add(); 大整数相加BigInteger a=new BigInteger(“23”);BigInteger b=new BigInteger(“34”);a. ad...]]></description><category></category></item><item><title><![CDATA[POJ3617 Best Cow Line]]></title><link>https://blog.youkuaiyun.com/ain1847/article/details/102252154</link><guid>https://blog.youkuaiyun.com/ain1847/article/details/102252154</guid><author>ain1847</author><pubDate>Fri, 13 Apr 2018 20:48:00 +0800</pubDate><description><![CDATA[问题分析，从S串头部删除一个字符，加到T的尾部
从S的尾部删除一个字符加到T的尾部，构造尽可能小的T串
S="ACDBCB"   --&gt;  S="CDBCB"  --&gt;  S=“CDBC“ --&gt; S="CDB"
T=""　　　　　　　　T="A"　　　　　　T="AB"　　　T="ABC"
　　　　　　　　　　头 　　　　　　 尾　　　　　...]]></description><category></category></item><item><title><![CDATA[八皇后问题]]></title><link>https://blog.youkuaiyun.com/ain1847/article/details/102252150</link><guid>https://blog.youkuaiyun.com/ain1847/article/details/102252150</guid><author>ain1847</author><pubDate>Fri, 13 Apr 2018 20:37:00 +0800</pubDate><description><![CDATA[对列数(1-8)全排列，让每一行中的插入的数在列上没有重复
判断斜线方向是否存在多的皇后

#include &lt;cstdio&gt;
#include &lt;cmath&gt;
#include &lt;iostream&gt;
using namespace std;

int ans[10];
bool b[10];

void out()
{
  ...]]></description><category></category></item><item><title><![CDATA[减法原理]]></title><link>https://blog.youkuaiyun.com/ain1847/article/details/102252152</link><guid>https://blog.youkuaiyun.com/ain1847/article/details/102252152</guid><author>ain1847</author><pubDate>Fri, 13 Apr 2018 20:31:00 +0800</pubDate><description><![CDATA[用数组存储每位上的数
倒序，每次减去1，减去减数个1
不够减（最低位为零），向前借位，如果前一位是零，继续向前借位，直至不是0为止，记为pos,
将pos这位数减去1，其余位置为9
如26#减法

#include &lt;cstdio&gt;
using namespace std;

int main()
{
    int l,n;
    int a[6]...]]></description><category></category></item><item><title><![CDATA[全排列]]></title><link>https://blog.youkuaiyun.com/ain1847/article/details/102252147</link><guid>https://blog.youkuaiyun.com/ain1847/article/details/102252147</guid><author>ain1847</author><pubDate>Fri, 13 Apr 2018 20:20:00 +0800</pubDate><description><![CDATA[#include &lt;iostream&gt;
using namespace std;

bool b[4];
int ans[4];

/*全排列*/
void dfs(int num)
{
    if(num == 4)
    {
        for(int i = 1; i &lt;= 3; i++)
            cout&lt...]]></description><category></category></item><item><title><![CDATA[lower_bound和upper_bound]]></title><link>https://blog.youkuaiyun.com/ain1847/article/details/102252145</link><guid>https://blog.youkuaiyun.com/ain1847/article/details/102252145</guid><author>ain1847</author><pubDate>Fri, 13 Apr 2018 19:51:00 +0800</pubDate><description><![CDATA[ForwardIterlower_bound(ForwardIter first, ForwardIter last,const _Tp&amp; val)算法返回一个非递减序列[first, last)中的第一个大于等于值val的位置。
ForwardIter upper_bound(ForwardIter first, ForwardIter last, const _Tp&am...]]></description><category></category></item><item><title><![CDATA[hdu 2100 LoveKey]]></title><link>https://blog.youkuaiyun.com/ain1847/article/details/102252143</link><guid>https://blog.youkuaiyun.com/ain1847/article/details/102252143</guid><author>ain1847</author><pubDate>Mon, 09 Apr 2018 15:57:00 +0800</pubDate><description><![CDATA[题目链接：http://acm.hdu.edu.cn/showproblem.php?pid=2100
题意：26进制加法
分析：因为给定的两个字符串长度过大，不可能将其转化为十进制相加（会溢出），所以只能采用数组存储每一位的二十六进制数，然后对位相加，逢26向高位进一。
注意：AAAAAA A  相加输出一个A
code:
#include&lt;stdio.h&gt;...]]></description><category></category></item><item><title><![CDATA[c++中string类中的函数]]></title><link>https://blog.youkuaiyun.com/ain1847/article/details/102252146</link><guid>https://blog.youkuaiyun.com/ain1847/article/details/102252146</guid><author>ain1847</author><pubDate>Fri, 23 Mar 2018 15:37:00 +0800</pubDate><description><![CDATA[C/C++ string库（string.h）提供了几个字符串查找函数，如下：
memchr 在指定内存里定位给定字符 strchr 在指定字符串里定位给定字符 strcspn 返回在字符串str1里找到字符串str2里的任意一个字符之前已查找的字符数量 strrchr 在字符串里定位给定字符最后一次出现的位置 strpbrk 在字符串str1里定位字符串str2里任意一个首次出现的字...]]></description><category></category></item></channel></rss>