<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[iuk11的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/iuk11</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; iuk11]]></copyright><item><title><![CDATA[从0手写C++项目——企业级OJ系统]]></title><link>https://blog.youkuaiyun.com/iuk11/article/details/148670429</link><guid>https://blog.youkuaiyun.com/iuk11/article/details/148670429</guid><author>iuk11</author><pubDate>Tue, 17 Jun 2025 16:00:09 +0800</pubDate><description><![CDATA[C++17、分层架构-MVC-（表示层、控制层、业务层、数据层）、网络编程-Epoll-边缘触发、HTTP协议设计模式：工厂模式（中间件创建和管理）、策略模式（路由匹配和处理策略）、观察者模式（事件通知机制）、RAII、单例。epoll边缘触发、同步非阻塞IO、连接池管理、信号处理关闭，资源安全释放。流式解析：边读边解析正则路由：支持RESTful API和参数提取RESTful API：基于HTTP协议的API设计风格，使用标准的HTTP方法操作资源。]]></description><category></category></item><item><title><![CDATA[C++指针进阶]]></title><link>https://blog.youkuaiyun.com/iuk11/article/details/139025009</link><guid>https://blog.youkuaiyun.com/iuk11/article/details/139025009</guid><author>iuk11</author><pubDate>Sat, 18 May 2024 16:06:37 +0800</pubDate><description><![CDATA[这段空间是空闲的，对于空闲的空间而言，没有相应的物理存储器与之相对应，所以对这段空间来说，任何读写操作都是会引起异常的。NULL在C++中就是0，这是因为在C++中void*类型是不允许隐式转换成其他类型的，所以之前C++中使用0来表示空指针，但是在重载整形的情况下，会出现上述的问题。1.栈是系统提供的数据结构，计算机在底层提供了堆栈的支持，进栈和出栈都有专门的指令，效率比较高；堆是由C++函数库提供的。2.栈不会产生碎片，堆频繁的分配和释放，会造成内存空间不连续，容易产生碎片，太多碎片会导致性能下降。]]></description><category></category></item><item><title><![CDATA[【c++】友元函数]]></title><link>https://blog.youkuaiyun.com/iuk11/article/details/128396028</link><guid>https://blog.youkuaiyun.com/iuk11/article/details/128396028</guid><author>iuk11</author><pubDate>Wed, 21 Dec 2022 18:31:49 +0800</pubDate><description><![CDATA[C++友元函数]]></description><category></category></item><item><title><![CDATA[【c++】typename]]></title><link>https://blog.youkuaiyun.com/iuk11/article/details/128393635</link><guid>https://blog.youkuaiyun.com/iuk11/article/details/128393635</guid><author>iuk11</author><pubDate>Wed, 21 Dec 2022 10:34:29 +0800</pubDate><description><![CDATA[c++ typename]]></description><category></category></item><item><title><![CDATA[【c++】函数模板与模板函数]]></title><link>https://blog.youkuaiyun.com/iuk11/article/details/128392127</link><guid>https://blog.youkuaiyun.com/iuk11/article/details/128392127</guid><author>iuk11</author><pubDate>Wed, 21 Dec 2022 02:39:48 +0800</pubDate><description><![CDATA[C++函数模板与模板函数]]></description><category></category></item><item><title><![CDATA[【蓝桥杯国赛】奇偶覆盖]]></title><link>https://blog.youkuaiyun.com/iuk11/article/details/125073084</link><guid>https://blog.youkuaiyun.com/iuk11/article/details/125073084</guid><author>iuk11</author><pubDate>Tue, 31 May 2022 21:58:54 +0800</pubDate><description><![CDATA[a]]></description><category></category></item><item><title><![CDATA[【蓝桥杯国赛】游园安排]]></title><link>https://blog.youkuaiyun.com/iuk11/article/details/124768000</link><guid>https://blog.youkuaiyun.com/iuk11/article/details/124768000</guid><author>iuk11</author><pubDate>Sat, 14 May 2022 14:32:40 +0800</pubDate><description><![CDATA[最长上升子序列 LIS 优化 二分与贪心 单调队列
数据范围 1e6，如果用普通的LIS会超时。
现在介绍优化版本：在单调队列中，保证所有字符串按照字典序单增。首先对题目进行字符串处理，按照顺序依次入队。
入队满足两个条件：

当前元素比队尾元素大，直接入队；
当前元素比队尾元素小，二分找到第一个大于等于该元素的元素，替换它。

最终的队列长度一定是该序列的最长子序列长度。(结论1)
在每一次入队操作时，同时更新len序列(表示以第i个元素结尾的序列的最长子序列的长度)：

当前元素比队尾元素大，长度为队列]]></description><category></category></item><item><title><![CDATA[ACM算法与竞赛协会第二次培训-图论-代码与题目汇总]]></title><link>https://blog.youkuaiyun.com/iuk11/article/details/124613776</link><guid>https://blog.youkuaiyun.com/iuk11/article/details/124613776</guid><author>iuk11</author><pubDate>Fri, 06 May 2022 16:58:15 +0800</pubDate><description><![CDATA[目录前言洛谷题目编号DFSBFS拓扑排序链式前向星DijkstraDijkstra(堆优化)FloydPrimKruskal
前言
目录里面包含了所有上课提到的内容，这肯定不是一天能理解吸收的。
我只有代码模板，但是不包含讲解，想深入了解的同学可以去各个平台搜对应的名字学习与补全自己的知识面。
刷模板题可以去洛谷。
洛谷题目编号
dfs/bfs

P1219 八皇后
P2392 kkksc03考前临时抱佛脚
P1443 马的遍历
P1135 奇怪的电梯
P2895 Meteor Shower S
P1036]]></description><category></category></item><item><title><![CDATA[计数dp cf1426f Number of Subsequences]]></title><link>https://blog.youkuaiyun.com/iuk11/article/details/124178539</link><guid>https://blog.youkuaiyun.com/iuk11/article/details/124178539</guid><author>iuk11</author><pubDate>Thu, 14 Apr 2022 18:39:12 +0800</pubDate><description><![CDATA[题目
题意很简单，输入n(字符串长度),s(字符串)，字符串只包含a b c ? 四种字符。如果遇到? 字符串序列会分裂成三个，? 位置分别由a,b,c代替。问全部字符串序列中，abc子序列的数量。
dp[i][0] 表示 到i位为至，a的数量
dp[i][1] 表示 到i位为至，ab的数量
dp[i][2] 表示 到i位为至，abc的数量
数量转移有
dp[i][j]=dp[i-1][j]+dp[i-1][j-1] j&gt;=1
dp[i][j]=dp[i-1][j]+1 j=0
对于?产生的分裂，可以]]></description><category></category></item><item><title><![CDATA[计数dp cf404d]]></title><link>https://blog.youkuaiyun.com/iuk11/article/details/124171336</link><guid>https://blog.youkuaiyun.com/iuk11/article/details/124171336</guid><author>iuk11</author><pubDate>Thu, 14 Apr 2022 14:38:52 +0800</pubDate><description><![CDATA[蓝桥杯两道我愿称为全是计数dp，昨天找了一道d，不敢练f。
计数dp就是找规律，把情况找全进行转移即可。
题目
题意见题目。
一开始设的情况不够用，后面补充全了。

dp[i][0] 到第i位结尾，当前位为0
dp[i][1] 到第i位结尾，当前位为1，且s[i-1]是一个雷
dp[i][2] 到第i位结尾，当前位为1，且s[i-1]不是一个雷
dp[i][3] 到第i位结尾，当前位为2
dp[i][4] 到第i位结尾，当前位为雷

如果是?就把?可以替代的情况都填一遍。
#include&lt;bits/]]></description><category></category></item><item><title><![CDATA[第十三届蓝桥杯省赛b组 两道dp补题]]></title><link>https://blog.youkuaiyun.com/iuk11/article/details/124135305</link><guid>https://blog.youkuaiyun.com/iuk11/article/details/124135305</guid><author>iuk11</author><pubDate>Tue, 12 Apr 2022 22:04:45 +0800</pubDate><description><![CDATA[画积木

推导见上图
因为画布为2*n，只有两行，所以可以考虑每一种占满两行的方式，对每种方式做一个状态转移，得到的就是总方案数。
#include&lt;bits/stdc++.h&gt;
using namespace std;
const int N=1e7+100;
const int mod=1e9+7;
typedef long long ll;
ll f[N],sum[N];
ll n;
int main(){
    cin&gt;&gt;n;
    f[0]=1;f[1]=1;f[2]=]]></description><category></category></item><item><title><![CDATA[KMP模板]]></title><link>https://blog.youkuaiyun.com/iuk11/article/details/123921455</link><guid>https://blog.youkuaiyun.com/iuk11/article/details/123921455</guid><author>iuk11</author><pubDate>Sat, 02 Apr 2022 16:37:32 +0800</pubDate><description><![CDATA[先导概念
s[ ] 模式串
p[ ] 匹配串
非平凡前缀 指除了最后一个字符以外，一个字符串的全部头部组合（前面连续的部分）
非平凡后缀 指除了第一个字符以外，一个字符串的全部尾部组合
部分匹配值 非平凡前缀和非平凡后缀的最大相似长度
next[ ] 第i个元素的，前i个元素的字符串，的部分匹配值。
与模式串匹配 若在下标i处匹配失败，若模式串与匹配串有一个以s[i]结尾的相似子串，那个就可以跳过这段匹配，把匹配串直接移动到下一个需要匹配的位置（匹配串的当前下标移动到len+1处，len为相似子串的长度）。]]></description><category></category></item><item><title><![CDATA[codeforce#edu125d 补题]]></title><link>https://blog.youkuaiyun.com/iuk11/article/details/123701007</link><guid>https://blog.youkuaiyun.com/iuk11/article/details/123701007</guid><author>iuk11</author><pubDate>Thu, 24 Mar 2022 02:06:02 +0800</pubDate><description><![CDATA[现在是每日一题。最近争取能想出来个d。
【题意】
总共金币为 CCC ，士兵种类为 nnn 。
每个士兵有三个属性 h 生命 d 攻击 c 购买费用
有 mmm 次查询，每次查询：
给出一个野怪的 H 生命 D 攻击
需要满足：
{h[i]∗d[i]∗cnt&gt;H∗Dcnt∗c[i]≤C
	\left\{
        \begin{array}{ll}
            h[i]*d[i]*cnt&gt;H*D \\
             cnt*c[i] \leq C
        \]]></description><category></category></item><item><title><![CDATA[codeforce#dp专项]]></title><link>https://blog.youkuaiyun.com/iuk11/article/details/123452961</link><guid>https://blog.youkuaiyun.com/iuk11/article/details/123452961</guid><author>iuk11</author><pubDate>Sun, 13 Mar 2022 00:11:46 +0800</pubDate><description><![CDATA[1 https://codeforces.com/problemset/problem/467/C
【题意】给定一个长度为n的序列，找到k个长度为m的子串（不是子序列），求能得到的每个子串相加后的最大值。特别，子串下标不能重复且不能交叉 。
iii 表示下标
jjj 表示子串个数
不新增子串，那最大值与上一次的状态相同；
新增子串，那最大值为以当前下标 iii 结尾的 [i−m+1,i][i-m+1,i][i−m+1,i] 长度的子串，自然dp[i−m][j−1]dp[i-m][j-1]dp[i−m][j−]]></description><category></category></item><item><title><![CDATA[【桂林信息科技学院第一届程序设计大赛】完整题解 C++]]></title><link>https://blog.youkuaiyun.com/iuk11/article/details/121722198</link><guid>https://blog.youkuaiyun.com/iuk11/article/details/121722198</guid><author>iuk11</author><pubDate>Sun, 05 Dec 2021 17:00:00 +0800</pubDate><description><![CDATA[目录A.Hello 小明B.博学多识的小明C.小明爱偶数D.小明爱打单词E.小明打篮球F.小明爱数学G.小明与张三H.小明拿宝藏I.小明的考试成绩J.小明与鲜花K.小明与小红的增删图游戏后记
A.Hello 小明
本题作为本场最简单的签到题，改编于hello world，想考察大家的字符串输入输出能力。
#include&lt;bits/stdc++.h&gt;
using namespace std;
int main(){
    string s;
    cin&gt;&gt;s;
    cout]]></description><category></category></item><item><title><![CDATA[VMware中Ubuntu18.04连不上网]]></title><link>https://blog.youkuaiyun.com/iuk11/article/details/121684405</link><guid>https://blog.youkuaiyun.com/iuk11/article/details/121684405</guid><author>iuk11</author><pubDate>Thu, 02 Dec 2021 19:26:59 +0800</pubDate><description><![CDATA[使用，共享主机IP地址模式
状态，网络未连接，右上方无网络连接图标
第二步仅第一次需要修改
此方法虽然可以联网，但下次开机后仍会找不到网络，每次开机做一次一三步即可。所用命令在终端输入。
第一步 删除NetworkManager缓存文件
service NetworkManager stop
sudo rm /var/lib/NetworkManager/NetworkManager.state
service NetworkManager start

第二步 修改/etc/NetworkManager/]]></description><category></category></item><item><title><![CDATA[【二分模板】]]></title><link>https://blog.youkuaiyun.com/iuk11/article/details/121506835</link><guid>https://blog.youkuaiyun.com/iuk11/article/details/121506835</guid><author>iuk11</author><pubDate>Wed, 24 Nov 2021 01:35:59 +0800</pubDate><description><![CDATA[两场cf两个二分。
今天压线过了c，心情有点激动。二分差点没把我心态搞崩。
check()函数是判断是要选择哪个区间。
求尽可能小
二分区间 [l,mid],[mid+1,r][l,mid],[mid+1,r][l,mid],[mid+1,r]
int l=1,r=n;
while(l&lt;r){
    int mid=(l+r)&gt;&gt;1;
    if(check(mid)){
        r=mid;
    }else{
        l=mid+1;
    }
}
cout&l]]></description><category></category></item><item><title><![CDATA[线段树【模板】全面]]></title><link>https://blog.youkuaiyun.com/iuk11/article/details/121150224</link><guid>https://blog.youkuaiyun.com/iuk11/article/details/121150224</guid><author>iuk11</author><pubDate>Sat, 06 Nov 2021 00:50:19 +0800</pubDate><description><![CDATA[导航栏点/区间线段树求和点/区间线段树求最大值更新(非替换)及查询最大值变型 2020 CCPC MianYang J
点/区间线段树求和
线段树，顾名思义，是把给定的n个元素组成的序列比作线段，以树的方式重建，进而达到更新，询问的时间复杂度都达到log⁡2n\log_2nlog2​n的级别。
pushup建树过程中或者更新过程中，会先递归到叶子节点（不一定到叶子节点），然后再回溯，就是下一次回到他们两个的子树根节点，该点要记录两个子节点的和，所以pushup.当然再向上回溯同理，也是当前根等于他两个子节点]]></description><category></category></item><item><title><![CDATA[2021CCPC网络赛重赛-题解]]></title><link>https://blog.youkuaiyun.com/iuk11/article/details/120718602</link><guid>https://blog.youkuaiyun.com/iuk11/article/details/120718602</guid><author>iuk11</author><pubDate>Tue, 12 Oct 2021 10:43:29 +0800</pubDate><description><![CDATA[(自己可能真的是个废物，理不出逻辑，错在小细节，不敢开新题，新题更没把握)
难过周末。

1006
题意就是：
前缀为nunhehheh，后缀为若干个a(不包括0个)，给定一个字符串，问有多少个满足条件的子序列。
分析：
先倒序维护一个在当前位置a有多少个的数组。
再动态维护出一个dp[i][j]dp[i][j]dp[i][j]，表示在第i位以第j个操作数 结尾的子序列个数。
opp="@nunhehheh"opp="@nunhehheh"opp="@nunhehheh"，第一位空出，防止i=0i=0i=0]]></description><category></category></item><item><title><![CDATA[在Ubuntu18.0中配置Vscode]]></title><link>https://blog.youkuaiyun.com/iuk11/article/details/120588126</link><guid>https://blog.youkuaiyun.com/iuk11/article/details/120588126</guid><author>iuk11</author><pubDate>Sat, 02 Oct 2021 19:05:22 +0800</pubDate><description><![CDATA[补充一些配置过程中的坑。。
如果想看完整教程网上搜。。
网上也没有特别完整，只有相对完整。
准备工作

VMware
Ubuntu

开始
在配置虚拟机设置的时候要注意，把网络适配器改成NAT。一开始用的本机，结果IP一直对不上。
然后就可以愉快的上网了。
如果不确定可以在Linux的终端上输入ping www.baidu.com
看看能不能ping到。
下一步，网络配好了，开始下载ubuntu-make
sudo add-apt-repository ppa:ubuntu-desktop/ubuntu-m]]></description><category></category></item></channel></rss>