<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[BePosit的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/BePosit</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; BePosit]]></copyright><item><title><![CDATA[NTRURU]]></title><link>https://blog.youkuaiyun.com/BePosit/article/details/124936131</link><guid>https://blog.youkuaiyun.com/BePosit/article/details/124936131</guid><author>BePosit</author><pubDate>Mon, 23 May 2022 22:02:09 +0800</pubDate><description><![CDATA[import random
import math
import numpy as np
def C(n,m):
    res=1
    mx=max(n-m,m)
    mi=min(n-m,m)
    for i in range(mx+1,n+1):
        res=res*i
    for i in range(1,mi+1):
        res=res//i
    return  res
n=16
q=256
# A=np.random.randint(0,256,(1.]]></description><category></category></item><item><title><![CDATA[SIS背包]]></title><link>https://blog.youkuaiyun.com/BePosit/article/details/124699258</link><guid>https://blog.youkuaiyun.com/BePosit/article/details/124699258</guid><author>BePosit</author><pubDate>Tue, 10 May 2022 22:28:15 +0800</pubDate><description><![CDATA[#include &lt;bits/stdc++.h&gt;
using namespace std;
int N=251,p=3,q=197,d=83;
int H[2000][2000],m[2000],r[2000],e[2000],f[40][2000][2000];
int id[4]={0,1},path[44];
vector&lt;int&gt;v[2];
void FX(int id1,int id2)
{
 //id1=id2;
 int n=15,cnt=0;
 m...]]></description><category></category></item><item><title><![CDATA[格基约化算法]]></title><link>https://blog.youkuaiyun.com/BePosit/article/details/123976644</link><guid>https://blog.youkuaiyun.com/BePosit/article/details/123976644</guid><author>BePosit</author><pubDate>Tue, 05 Apr 2022 20:35:53 +0800</pubDate><description><![CDATA[import random
n=3
m=9
q=107
a=[]
for i in range(0,m):
  b=[]
  for j in range(0,m):
    b.append(0)
  a.append(b)
for i in range(0,n):
  for j in range(n,m):
    a[i][j]=random.choice(range(q))*11111111111111
for i in range(0,n):
  a[i][i...]]></description><category></category></item><item><title><![CDATA[Python]]></title><link>https://blog.youkuaiyun.com/BePosit/article/details/123967108</link><guid>https://blog.youkuaiyun.com/BePosit/article/details/123967108</guid><author>BePosit</author><pubDate>Tue, 05 Apr 2022 12:02:05 +0800</pubDate><description><![CDATA[print('hello world')
print('aaa')
a=10
print (a)
a='11'
print(type(a))
a=2
a=a**10
print(a)
name='老子'
QQ='22222'
phone='11234'
addr='bj'
name=int(input())
QQ=input()
print('姓名:%d'%(name))
print('QQ:{}'.format(QQ))


score=int(input('请输入'))
if score&gt;60:.]]></description><category></category></item><item><title><![CDATA[JM2007矩阵构造]]></title><link>https://blog.youkuaiyun.com/BePosit/article/details/121878981</link><guid>https://blog.youkuaiyun.com/BePosit/article/details/121878981</guid><author>BePosit</author><pubDate>Sat, 11 Dec 2021 20:37:27 +0800</pubDate><description><![CDATA[#include &lt;bits/stdc++.h&gt;
using namespace std;
struct node{
    int xi[5];
}temp;
bool vis[22][22][22][22];
int pos[22][22][22][22];
string cstr[22]={"0000","1000","0100","0010","0001","0011","0110","1001","1100"};
string str[222][222],aw[22]={"-1",".]]></description><category></category></item><item><title><![CDATA[QYQ-icpc备战训练赛1（2016多校9）]]></title><link>https://blog.youkuaiyun.com/BePosit/article/details/132976771</link><guid>https://blog.youkuaiyun.com/BePosit/article/details/132976771</guid><author>BePosit</author><pubDate>Sun, 20 Oct 2019 22:20:00 +0800</pubDate><description><![CDATA[B - Best Division
dp[ i ]表示截止到位置i能划分出的最大数量合法段，
前缀和+01字典树优化dp转移即可
F - Flight
不会
I - Intersection is not allowed!
LGV 定理裸题
J - Jong Hyok and String
sam裸题。
广义自动机识别子串，求endpos类
K - K-th value
二分答案。小于mid...]]></description><category></category></item><item><title><![CDATA[Hawala Arrests CodeChef - AMR16G]]></title><link>https://blog.youkuaiyun.com/BePosit/article/details/132976770</link><guid>https://blog.youkuaiyun.com/BePosit/article/details/132976770</guid><author>BePosit</author><pubDate>Wed, 25 Sep 2019 15:38:00 +0800</pubDate><description><![CDATA[题意 ：一棵树，每个点可以有 0-K 种颜色，每种颜色在树上的点连续的，选择最少的点覆盖K种颜色，
思路 ：树上贪心，对应到序列上，类似于 k个区间 ，选择最少的点，让每个区间至少包含一个点的经典贪心问题
解决方法是 按照右端点排序，贪心的选择点，那么在树上问题类似，我们把每个颜色块的根 看作区间右端点，按照deep进行排序，贪心的选点即可。

#include&lt;bits/stdc++....]]></description><category></category></item><item><title><![CDATA[查分约束]]></title><link>https://blog.youkuaiyun.com/BePosit/article/details/132976768</link><guid>https://blog.youkuaiyun.com/BePosit/article/details/132976768</guid><author>BePosit</author><pubDate>Fri, 20 Sep 2019 18:24:00 +0800</pubDate><description><![CDATA[#include&lt;bits/stdc++.h&gt;
using namespace std;
#define N 11222
#define inf 1e15
#define ll long long
#define go(i,a,b) for(int i=a;i&lt;=b;i++)
int T,n,m,A,B,C,D,head[N],tot,inque[N],cas;
struct...]]></description><category></category></item><item><title><![CDATA[BM&EXCRT]]></title><link>https://blog.youkuaiyun.com/BePosit/article/details/133113989</link><guid>https://blog.youkuaiyun.com/BePosit/article/details/133113989</guid><author>BePosit</author><pubDate>Fri, 20 Sep 2019 18:23:00 +0800</pubDate><description><![CDATA[#include &lt;bits/stdc++.h&gt;

using namespace std;
#define rep(i,a,n) for (long long i=a;i&lt;n;i++)
#define per(i,a,n) for (long long i=n-1;i&gt;=a;i--)
#define pb push_back
#define mp make_pair
...]]></description><category></category></item><item><title><![CDATA[杨丰磊]]></title><link>https://blog.youkuaiyun.com/BePosit/article/details/132976767</link><guid>https://blog.youkuaiyun.com/BePosit/article/details/132976767</guid><author>BePosit</author><pubDate>Wed, 18 Sep 2019 17:06:00 +0800</pubDate><description><![CDATA[一般图带花树匹配：

#include &lt;bits/stdc++.h&gt;

using namespace std;
#define N 230
int nex[N],spo[N],w[N],q[N],vis[N],mark[N];
vector&lt;int&gt;path[N];
int n,r,u,to;
int finds(int x){ return w[x]==x?x:w[...]]></description><category></category></item><item><title><![CDATA[课程设计]]></title><link>https://blog.youkuaiyun.com/BePosit/article/details/132993169</link><guid>https://blog.youkuaiyun.com/BePosit/article/details/132993169</guid><author>BePosit</author><pubDate>Thu, 27 Jun 2019 08:46:00 +0800</pubDate><description><![CDATA[#include&lt;bits/stdc++.h&gt;
#define N  8
typedef struct hm
{
    char ch;
    char code[20];
} HuffM;
typedef struct s
{
    char ch;
    int frq;
} mytype;
typedef struct bt
{
    struct bt *lchi...]]></description><category></category></item><item><title><![CDATA[大数模板]]></title><link>https://blog.youkuaiyun.com/BePosit/article/details/132993167</link><guid>https://blog.youkuaiyun.com/BePosit/article/details/132993167</guid><author>BePosit</author><pubDate>Tue, 18 Jun 2019 16:51:00 +0800</pubDate><description><![CDATA[大数加法

string temp1,temp2,temp,str;
string sum(string s1,string s2)
{
    if(s1.length()&lt;s2.length())
    {
        string temp=s1;
        s1=s2;
        s2=temp;
    }
    int i,j;
    for(i=s1....]]></description><category></category></item><item><title><![CDATA[点分治]]></title><link>https://blog.youkuaiyun.com/BePosit/article/details/132993164</link><guid>https://blog.youkuaiyun.com/BePosit/article/details/132993164</guid><author>BePosit</author><pubDate>Tue, 28 May 2019 11:37:00 +0800</pubDate><description><![CDATA[题意
后两个求和符号代表的是有多少异或值为0的路径。前两个符号代表有多少路径包含异或值为0的路径。即每个权值为0的路径对答案的贡献为 有多少路径包含当前路径 ，所有的贡献加起来就是答案。

思路
点分治，权值太大，桶只能用map了。x与y之间的路径(x与y间权值异或为0)对答案的贡献是(x可以扩展的点数)**(y可以扩展的点数)。如上图，设2与3之间的权值异或为0，那么这条边对答案的贡献为2*3...]]></description><category></category></item><item><title><![CDATA[A - A Secret -扩展KMP]]></title><link>https://blog.youkuaiyun.com/BePosit/article/details/133061894</link><guid>https://blog.youkuaiyun.com/BePosit/article/details/133061894</guid><author>BePosit</author><pubDate>Sat, 16 Feb 2019 19:01:00 +0800</pubDate><description><![CDATA[题目大意：
给你两个字符串A,B，现在要你求B串的后缀在A串中出现的次数和后缀长度的乘积和为多少。
题解：
扩展KMP模板题，将A和B串都逆序以后就变成了求前缀的问题了，扩展KMP求处从i位置开始的最长公共前缀存于数组。
最后通过将数组的值不为0的进行一个桶计数，倒着进行一下求和就可以了。注意，在这个题目上扩展kmp处理出来的是
ex[ i ]数组是 A串的每个从 i 位置开始的后缀 ，与B串的...]]></description><category></category></item><item><title><![CDATA[G - Surf Gym - 100819S -逆向背包DP]]></title><link>https://blog.youkuaiyun.com/BePosit/article/details/133061877</link><guid>https://blog.youkuaiyun.com/BePosit/article/details/133061877</guid><author>BePosit</author><pubDate>Wed, 23 Jan 2019 19:31:00 +0800</pubDate><description><![CDATA[G - Surf
Gym - 100819S
思路 ：有点类似 逆向背包DP ， 因为这些事件发生后是对后面的时间有影响。
所以，我们 进行逆向DP，具体 见代码实现。

#include&lt;bits/stdc++.h&gt;
using namespace std;
#define maxn 1000000
#define ll long long
struct node
{
    ...]]></description><category></category></item><item><title><![CDATA[C - Thief in a Shop - dp完全背包-FFT生成函数]]></title><link>https://blog.youkuaiyun.com/BePosit/article/details/133061879</link><guid>https://blog.youkuaiyun.com/BePosit/article/details/133061879</guid><author>BePosit</author><pubDate>Wed, 23 Jan 2019 19:25:00 +0800</pubDate><description><![CDATA[C - Thief in a Shop
思路 ：严格的控制好k的这个数量，这就是个裸完全背包问题.(复杂度最极端会到1e9)
他们随意原来随意组合的方案，与他们都减去 最小的 一个 a[ i ] 组合的方案数目是不会改变的
那么我们就 dp [ i ]表示 i 这个价格需要的最少 个数。 这样求最小个数保证不会漏解
然后 如果这个 i 能通过 1 - k 个物品组合出来，那么 一定能通过k...]]></description><category></category></item><item><title><![CDATA[Sightseeing trip POJ - 1734 -Floyd 最小环]]></title><link>https://blog.youkuaiyun.com/BePosit/article/details/133061875</link><guid>https://blog.youkuaiyun.com/BePosit/article/details/133061875</guid><author>BePosit</author><pubDate>Wed, 23 Jan 2019 19:08:00 +0800</pubDate><description><![CDATA[POJ - 1734
思路 : Floyd 实质 dp ,优化掉了第三维. dp [ i ] [ j ] [ k ] 指的是前k个点优化后  i -&gt; j 的最短路。
所以我们就可以利用这个性质去求 最小环，最小环的构成可以看作是由一条 i -&gt; k  k-&gt;j 加上 dp [ i ] [ j ]的最短路
那么我们可以利用 还没有用 k 优化的 i...]]></description><category></category></item><item><title><![CDATA[P2733 家的范围 Home on the Range-弱DP]]></title><link>https://blog.youkuaiyun.com/BePosit/article/details/133061874</link><guid>https://blog.youkuaiyun.com/BePosit/article/details/133061874</guid><author>BePosit</author><pubDate>Tue, 22 Jan 2019 11:20:00 +0800</pubDate><description><![CDATA[P2733家的范围 Home on the Range
思路 ：转化为以每个点为右下角的 最大正方形的边长

#include&lt;bits/stdc++.h&gt;
using namespace std;
#define maxn 303
int tong[maxn],dp[maxn][maxn],n;
char a[maxn][maxn];
int main()
{
    scanf...]]></description><category></category></item><item><title><![CDATA[Love Live!-01字典树启发式合并]]></title><link>https://blog.youkuaiyun.com/BePosit/article/details/133061873</link><guid>https://blog.youkuaiyun.com/BePosit/article/details/133061873</guid><author>BePosit</author><pubDate>Tue, 22 Jan 2019 10:47:00 +0800</pubDate><description><![CDATA[链接：https://ac.nowcoder.com/acm/contest/201/D?&amp;headNav=www
思路：题目要求的是每个等级下的最大 简单路径中的最大异或值，那么我们为了保证目前的路径中最大的权值
为当前访问的边，先进行排序，然后一条一条的插入边，并查集维护 各个联通块，启发式合并，由当前边连接起来的
两个联通块，所谓启发式合并也就是 把小的块 合并到大的上。然后 查...]]></description><category></category></item><item><title><![CDATA[Kilani and the Game-扩散形式的搜索]]></title><link>https://blog.youkuaiyun.com/BePosit/article/details/133061893</link><guid>https://blog.youkuaiyun.com/BePosit/article/details/133061893</guid><author>BePosit</author><pubDate>Mon, 21 Jan 2019 19:23:00 +0800</pubDate><description><![CDATA[Kilani and the Game
思路：这种扩散走法的并且有速度。我们需要一层一层的入队， 而且 根据题目要求 按编号处理例如q1队列中有 1 1 1 2 2 2 2 3 3 3 3 3 3 3 那么我们需要 把 id = 1 的一起处理
把 1 1 1 push 到 q2 然后只要不超过 s [ id = 1 ] 的速度 ，就一直进行bfs ，当到达了 s [ id = 1...]]></description><category></category></item></channel></rss>