<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[peanutboom的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/peanutboom</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; peanutboom]]></copyright><item><title><![CDATA[动态规划：区间dp（合并石子）]]></title><link>https://blog.youkuaiyun.com/peanutboom/article/details/122071884</link><guid>https://blog.youkuaiyun.com/peanutboom/article/details/122071884</guid><author>peanutboom</author><pubDate>Tue, 21 Dec 2021 19:46:41 +0800</pubDate><description><![CDATA[题目链接：282. 石子合并 - AcWing题库

#include &lt;iostream&gt;
using namespace std;
const int maxn = 10000;
const int INF = 0x3f3f3f3f;
int s[maxn],f[maxn][maxn];
// dp[i][j] i~j merge cost min dp[i][j] = min(dp[i][k]~dp[i][j])
// k&gt;=i&amp;&amp;k&lt;j
int main()
]]></description><category></category></item><item><title><![CDATA[二分：数的范围]]></title><link>https://blog.youkuaiyun.com/peanutboom/article/details/122044636</link><guid>https://blog.youkuaiyun.com/peanutboom/article/details/122044636</guid><author>peanutboom</author><pubDate>Mon, 20 Dec 2021 16:34:56 +0800</pubDate><description><![CDATA[题目链接：789. 数的范围 - AcWing题库

二分建议就用y总的模板


#include &lt;cstdio&gt;
#include &lt;cstring&gt;
int S[100100];
int main()
{
    int n,m;
    scanf("%d%d",&amp;n,&amp;m);
    for(int i = 0;i &lt; n;i++) scanf("%d",&amp;S[i]);
    for(int i = 0;i &lt; m;i++)
    {]]></description><category></category></item><item><title><![CDATA[STL容器使用(vector)]]></title><link>https://blog.youkuaiyun.com/peanutboom/article/details/122026560</link><guid>https://blog.youkuaiyun.com/peanutboom/article/details/122026560</guid><author>peanutboom</author><pubDate>Sun, 19 Dec 2021 17:17:43 +0800</pubDate><description><![CDATA[vector


#include &lt;vector&gt;

Initilize 
vector&lt;Elem&gt; c;
vector&lt;Elem&gt; c(c2);
vector&lt;Elem&gt; c = c2;
vector&lt;Elem&gt; c(n)
vector&lt;Elem&gt; c(n,elem)
vector&lt;Elem&gt; c(beg,end)

Nonmodifying Operation
c.empty()
c.size()
c.max_size]]></description><category></category></item><item><title><![CDATA[算法复习：图（邻接矩阵和邻接表）]]></title><link>https://blog.youkuaiyun.com/peanutboom/article/details/122020691</link><guid>https://blog.youkuaiyun.com/peanutboom/article/details/122020691</guid><author>peanutboom</author><pubDate>Sun, 19 Dec 2021 10:35:34 +0800</pubDate><description><![CDATA[邻接矩阵


#include &lt;iostream&gt;
using namespace std;
const int N = 520,INF=0x3f3f3f3f;
int n,m;
int g[N][N];
void init()
{
	for(int i = 1;i &lt;=n;i++)
		for(int j = 1;j &lt;= n;j++)
			if(i == j) g[i][j] = 0;
			else g[i][j] = INF;
}
// 5 5
// 1 2 3
// 2]]></description><category></category></item><item><title><![CDATA[数据结构：单调栈]]></title><link>https://blog.youkuaiyun.com/peanutboom/article/details/122020552</link><guid>https://blog.youkuaiyun.com/peanutboom/article/details/122020552</guid><author>peanutboom</author><pubDate>Sun, 19 Dec 2021 09:32:41 +0800</pubDate><description><![CDATA[题目链接：活动 - AcWing


#include &lt;cstdio&gt;
#include &lt;cstring&gt;
int stk[100010],tt;
int main()
{
	int n;
	scanf("%d",&amp;n);
	for(int i = 0;i &lt; n;i++)
	{
		int x;
		scanf("%d",&amp;x);
		while(tt &amp;&amp; stk[tt] &gt;= x) tt--;
		if(tt) printf("%]]></description><category></category></item><item><title><![CDATA[BFS：走迷宫]]></title><link>https://blog.youkuaiyun.com/peanutboom/article/details/122015494</link><guid>https://blog.youkuaiyun.com/peanutboom/article/details/122015494</guid><author>peanutboom</author><pubDate>Sat, 18 Dec 2021 18:35:20 +0800</pubDate><description><![CDATA[题目链接：活动 - AcWing


#include &lt;cstdio&gt;
#include &lt;queue&gt;
#include &lt;cstring&gt;
using namespace std;
const int maxn = 100+5;
int map[maxn][maxn],dp[maxn][maxn];
typedef pair&lt;int,int&gt; Pint;
int main()
{
	int n,m;
	int dx[] = {0,0,-1,1},dy[]]]></description><category></category></item><item><title><![CDATA[回溯：排列数字]]></title><link>https://blog.youkuaiyun.com/peanutboom/article/details/122012561</link><guid>https://blog.youkuaiyun.com/peanutboom/article/details/122012561</guid><author>peanutboom</author><pubDate>Sat, 18 Dec 2021 15:08:30 +0800</pubDate><description><![CDATA[题目链接：活动 - AcWing


#include &lt;cstdio&gt;
#include &lt;vector&gt;
using namespace std;
vector&lt;int&gt;path;	
void backtracking(int n,vector&lt;bool&gt;&amp;used)
{
	if(path.size() == n)
	{
		for(int i = 0;i &lt; n;i++)
			if(i != n-1) printf("%d ",path[]]></description><category></category></item><item><title><![CDATA[动态规划（线性dp）：最长上升子序列]]></title><link>https://blog.youkuaiyun.com/peanutboom/article/details/122009607</link><guid>https://blog.youkuaiyun.com/peanutboom/article/details/122009607</guid><author>peanutboom</author><pubDate>Sat, 18 Dec 2021 10:49:14 +0800</pubDate><description><![CDATA[题目链接：895. 最长上升子序列 - AcWing题库

f[n]表示从w[0]开始，以w[n]为结尾的数的最大子序列

转移方程：f[i] = max(f[i],f[j]+1) 0=&lt;j&lt;i


#include &lt;cstdio&gt;
#include &lt;algorithm&gt;
const int maxn = 1e3+10;
int w[maxn],f[maxn];
int main()
{
	int n;
	scanf("%d",&amp;n);
	for(i...]]></description><category></category></item><item><title><![CDATA[Pointnet模型源码解读（更新中）]]></title><link>https://blog.youkuaiyun.com/peanutboom/article/details/122000968</link><guid>https://blog.youkuaiyun.com/peanutboom/article/details/122000968</guid><author>peanutboom</author><pubDate>Fri, 17 Dec 2021 17:35:56 +0800</pubDate><description><![CDATA[我看的是这位大佬的代码：

GitHub - yanx27/Pointnet_Pointnet2_pytorch: PointNet and PointNet++ implemented by pytorch (pure python) and on ModelNet, ShapeNet and S3DIS.



T-Net网络解析


class STN3d(nn.Module):
    def __init__(self, channel):
        super(STN3d, self)..]]></description><category></category></item><item><title><![CDATA[动态规划（区间dp）]]></title><link>https://blog.youkuaiyun.com/peanutboom/article/details/121994732</link><guid>https://blog.youkuaiyun.com/peanutboom/article/details/121994732</guid><author>peanutboom</author><pubDate>Fri, 17 Dec 2021 13:56:32 +0800</pubDate><description><![CDATA[石子合并

设有 N 堆石子排成一排，其编号为 1，2，3，…，N。

每堆石子有一定的质量，可以用一个整数来描述，现在要将这 N堆石子合并成为一堆。

每次只能合并相邻的两堆，合并的代价为这两堆石子的质量之和，合并后与这两堆石子相邻的石子将和新堆相邻，合并时由于选择的顺序不同，合并的总代价也不相同。

例如有 4堆石子分别为 1 3 5 2， 我们可以先合并 1、2 堆，代价为 4，得到 4 5 2， 又合并 1，2 堆，代价为 9，得到 9 2 ，再合并得到 11，总代价为 4+9+11=24；

如果]]></description><category></category></item><item><title><![CDATA[动态规划线性dp：数字三角形]]></title><link>https://blog.youkuaiyun.com/peanutboom/article/details/121990380</link><guid>https://blog.youkuaiyun.com/peanutboom/article/details/121990380</guid><author>peanutboom</author><pubDate>Fri, 17 Dec 2021 10:24:00 +0800</pubDate><description><![CDATA[给定一个如下图所示的数字三角形，从顶部出发，在每一结点可以选择移动至其左下方的结点或移动至其右下方的结点，一直走到底层，要求找出一条路径，使路径上的数字的和最大。


        7
      3   8
    8   1   0
  2   7   4   4
4   5   2   6   5


输入格式

第一行包含整数 n，表示数字三角形的层数。

接下来 n行，每行包含若干整数，其中第 i 行表示数字三角形第 i层包含的整数。

输出格式

输出一个整数，表示最大的路径数字和。

数据范]]></description><category></category></item><item><title><![CDATA[01背包问题和完全背包问题]]></title><link>https://blog.youkuaiyun.com/peanutboom/article/details/121989205</link><guid>https://blog.youkuaiyun.com/peanutboom/article/details/121989205</guid><author>peanutboom</author><pubDate>Fri, 17 Dec 2021 10:06:36 +0800</pubDate><description><![CDATA[01背包问题

题目链接：https://www.acwing.com/problem/content/description/2/

有 N 件物品和一个容量是 V的背包。每件物品只能使用一次。

第 i件物品的体积是 vi，价值是 wi。

求解将哪些物品装入背包，可使这些物品的总体积不超过背包容量，且总价值最大。
输出最大价值。

输入格式

第一行两个整数，N，V，用空格隔开，分别表示物品数量和背包容积。

接下来有 N行，每行两个整数 vi,wi，用空格隔开，分别表示第 i 件物品的体积和价值。
]]></description><category></category></item><item><title><![CDATA[进程管理（1）]]></title><link>https://blog.youkuaiyun.com/peanutboom/article/details/103172911</link><guid>https://blog.youkuaiyun.com/peanutboom/article/details/103172911</guid><author>peanutboom</author><pubDate>Wed, 20 Nov 2019 22:15:13 +0800</pubDate><description><![CDATA[进程管理（1）
进程
进程是处于执行期的程序，进程包括代码段，数据段，还有PCB（进程控制块）
线程实在进程中活动的对象，内核调度的对象是线程，而不是进程
注意：Linux内核通常把进程叫做任务
进程描述符及任务结构
内核把进程的列表存放在任务队列中（双向循环链表）
链表中的每一项类型都是task_struct（称为进程描述符），进程描述符包含一个具体进程的所有信息
分配进程描述符
看书说实话我还...]]></description><category></category></item><item><title><![CDATA[python3实现感知机]]></title><link>https://blog.youkuaiyun.com/peanutboom/article/details/101559718</link><guid>https://blog.youkuaiyun.com/peanutboom/article/details/101559718</guid><author>peanutboom</author><pubDate>Fri, 27 Sep 2019 20:41:01 +0800</pubDate><description><![CDATA[参考统计学习方法的算法简单实现了感知机算法

发到网上给大家参考


import pandas as pd
import numpy as np
def sumarray(array):
	n = 0
	for i in array:
		n+=i
	return n
def train(input_vec,labels):   #训练感知机
	w = [0,0]
	b = 0
	n = 0
	...]]></description><category></category></item><item><title><![CDATA[PAT B 1036 跟奥巴马一起编程]]></title><link>https://blog.youkuaiyun.com/peanutboom/article/details/100020529</link><guid>https://blog.youkuaiyun.com/peanutboom/article/details/100020529</guid><author>peanutboom</author><pubDate>Thu, 22 Aug 2019 17:48:23 +0800</pubDate><description><![CDATA[题目链接

https://pintia.cn/problem-sets/994805260223102976/problems/994805285812551680

1036跟奥巴马一起编程(15分)

美国总统奥巴马不仅呼吁所有人都学习编程，甚至以身作则编写代码，成为美国历史上首位编写计算机代码的总统。2014 年底，为庆祝“计算机科学教育周”正式启动，奥巴马编写了很简单的计算机代码：...]]></description><category></category></item><item><title><![CDATA[机器学习实战（简单的线性回归）]]></title><link>https://blog.youkuaiyun.com/peanutboom/article/details/97164393</link><guid>https://blog.youkuaiyun.com/peanutboom/article/details/97164393</guid><author>peanutboom</author><pubDate>Wed, 24 Jul 2019 20:47:43 +0800</pubDate><description><![CDATA[线性回归模型

线性回归模型的基础公式



是预测值

n是特征数量

xi是第i个特征值

是第j个模型参数

这可以用更简洁的向量公式表示，博主有点懒不想打了



我们在训练线性回归模型的时候，需要找到最小化均方误差（MSE）的参数

找到使成本函数最小的模型参数值就可以啦

有一个标准公式可以求出最小模型参数值，博主不想打了建议百度哈哈哈

以下就是简单实现线性回归的代码




i...]]></description><category></category></item><item><title><![CDATA[PAT 1002 写出这个数]]></title><link>https://blog.youkuaiyun.com/peanutboom/article/details/96727824</link><guid>https://blog.youkuaiyun.com/peanutboom/article/details/96727824</guid><author>peanutboom</author><pubDate>Sun, 21 Jul 2019 15:48:42 +0800</pubDate><description><![CDATA[https://pintia.cn/problem-sets/994805260223102976/problems/994805324509200384

读入一个正整数n，计算其各位数字之和，用汉语拼音写出和的每一位数字。

输入格式：

每个测试输入包含 1 个测试用例，即给出自然数n的值。这里保证n小于10​100​​。

输出格式：

在一行内输出n的各位数字之和的每一位...]]></description><category></category></item><item><title><![CDATA[贪心算法（今年暑假不AC）]]></title><link>https://blog.youkuaiyun.com/peanutboom/article/details/89284180</link><guid>https://blog.youkuaiyun.com/peanutboom/article/details/89284180</guid><author>peanutboom</author><pubDate>Sat, 13 Apr 2019 16:10:52 +0800</pubDate><description><![CDATA[http://acm.hdu.edu.cn/showproblem.php?pid=2037


			Problem Description

			“今年暑假不AC？”
			“是的。”
			“那你干什么呢？”
			“看世界杯呀，笨蛋！”
			“@#$%^&amp;*%...”
			确实如此，世界杯来了，球迷的节日也来了，估计很多ACMer也会抛开电脑，奔向电视了。
			作为球迷，一...]]></description><category></category></item><item><title><![CDATA[恶搞指数]]></title><link>https://blog.youkuaiyun.com/peanutboom/article/details/88766035</link><guid>https://blog.youkuaiyun.com/peanutboom/article/details/88766035</guid><author>peanutboom</author><pubDate>Sat, 23 Mar 2019 18:43:07 +0800</pubDate><description><![CDATA[这个问题十分简单就是一个利用栈的问题，栈遇到左括号就读入，只要遇见右括号，就将栈顶左括号弹出，最终遇到符号B整个过程就停止。将栈的大小输出即为结果



#include&lt;iostream&gt;
#include&lt;stack&gt;
#include&lt;string&gt;
using namespace std;
int main() {
	char n;
	stack&lt;...]]></description><category></category></item><item><title><![CDATA[As Easy As A+B]]></title><link>https://blog.youkuaiyun.com/peanutboom/article/details/88189270</link><guid>https://blog.youkuaiyun.com/peanutboom/article/details/88189270</guid><author>peanutboom</author><pubDate>Tue, 05 Mar 2019 16:50:25 +0800</pubDate><description><![CDATA[水题水题，每天努力一点一点


#include&amp;lt;iostream&amp;gt;
#include&amp;lt;algorithm&amp;gt;
using namespace std;
int main() {
 int i;
 int S[1000];
 while (scanf(&quot;%d&quot;,&amp;amp;i)!= EOF) {
  while (i--) {
  ...]]></description><category></category></item></channel></rss>