<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[DongLUOWAN的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/DongLUOWAN</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; DongLUOWAN]]></copyright><item><title><![CDATA[Codeforces Round #799 (Div. 4) （AK代码）]]></title><link>https://blog.youkuaiyun.com/DongLUOWAN/article/details/125289170</link><guid>https://blog.youkuaiyun.com/DongLUOWAN/article/details/125289170</guid><author>DongLUOWAN</author><pubDate>Wed, 15 Jun 2022 01:04:29 +0800</pubDate><description><![CDATA[submit]]></description><category></category></item><item><title><![CDATA[Codeforces Round #790 (Div. 4) (AC代码)]]></title><link>https://blog.youkuaiyun.com/DongLUOWAN/article/details/124712288</link><guid>https://blog.youkuaiyun.com/DongLUOWAN/article/details/124712288</guid><author>DongLUOWAN</author><pubDate>Wed, 11 May 2022 16:05:04 +0800</pubDate><description><![CDATA[G题题目看错了，一直在调，结果是输入n-1个数不是n个数，难受的一批。导致H题一个简单的树状数组也没写出来，比赛完就调出来了。Rank 3000/29000
A题
#include&lt;iostream&gt;
#include&lt;algorithm&gt;
#include&lt;cmath&gt;
#include&lt;cstring&gt;
#include&lt;vector&gt;
#include&lt;queue&gt;
#include&lt;stack&gt;
#include&l]]></description><category></category></item><item><title><![CDATA[ACwing802-离散化-python-(数组数组+离散化)]]></title><link>https://blog.youkuaiyun.com/DongLUOWAN/article/details/123881743</link><guid>https://blog.youkuaiyun.com/DongLUOWAN/article/details/123881743</guid><author>DongLUOWAN</author><pubDate>Thu, 31 Mar 2022 19:58:30 +0800</pubDate><description><![CDATA[比较难理解的一道题。我们首先对所有要进行添加操作的坐标进行离散化，用树状数组保存。当我们查询的时候，找到左右侧的端点，再利用树状数组求和即可。
AC代码
global a,lth
global tree
def low_bound(l,r,val):
    while l&lt;=r:
        mid=l+r&gt;&gt;1
        if val&lt;=a[mid]:
            r=mid-1
        else:
            l=mid+1
    r]]></description><category></category></item><item><title><![CDATA[洛谷1177-归并排序--C++（归并排序）]]></title><link>https://blog.youkuaiyun.com/DongLUOWAN/article/details/123830965</link><guid>https://blog.youkuaiyun.com/DongLUOWAN/article/details/123830965</guid><author>DongLUOWAN</author><pubDate>Tue, 29 Mar 2022 20:21:36 +0800</pubDate><description><![CDATA[归并排序的步骤就是先划分，再把两部分进行两两合并，合并的时候就用到了归并排序。归并排序是一个稳定的排序，算法的时间效率是O(nlgn)，空间效率是O(n)，是一个比较好的排序。
AC代码
#include&lt;iostream&gt;
using namespace std;
const int N=100010;
int a[N];
int n;
void merge(int l,int r,int mid){
	int tmp[N]={0};
	int lpos=l,rpos=mid+1,pos=l;]]></description><category></category></item><item><title><![CDATA[ACwing196-质数距离-C++（线性筛）]]></title><link>https://blog.youkuaiyun.com/DongLUOWAN/article/details/123773479</link><guid>https://blog.youkuaiyun.com/DongLUOWAN/article/details/123773479</guid><author>DongLUOWAN</author><pubDate>Sun, 27 Mar 2022 14:46:31 +0800</pubDate><description><![CDATA[AC代码
#include&lt;iostream&gt;
#include&lt;cstring&gt;
using namespace std;
typedef long long LL;
const int N=1000010;
int n,m;
int a[N];
int prime[N],cnt,vis[N];
void EulerFilter(){
    for(int i=2;i&lt;=N;i++){
        if(!vis[i]){
            prime[cnt++]]></description><category></category></item><item><title><![CDATA[ACwing95-开关-python-(递推与递归)]]></title><link>https://blog.youkuaiyun.com/DongLUOWAN/article/details/123746163</link><guid>https://blog.youkuaiyun.com/DongLUOWAN/article/details/123746163</guid><author>DongLUOWAN</author><pubDate>Fri, 25 Mar 2022 21:43:38 +0800</pubDate><description><![CDATA[对于第一行来说，一共有1&lt;&lt;5种操作状态，枚举这些操作状态，得到第一行的状态，最后通过递推看最后一行能否达到都是开的状态即可。
AC代码
#我们枚举得是第一行得开关操作的种类
import copy
global msg,tmp

dx=[0,0,0,-1,1]
dy=[0,-1,1,0,0]
def turn(x,y):
    for i in range(5):
        a,b=x+dx[i],y+dy[i]
        if 0&lt;=a&lt;5 and 0&lt;=b&]]></description><category></category></item><item><title><![CDATA[洛谷1835-素数密度-C++-（欧拉筛）]]></title><link>https://blog.youkuaiyun.com/DongLUOWAN/article/details/123692495</link><guid>https://blog.youkuaiyun.com/DongLUOWAN/article/details/123692495</guid><author>DongLUOWAN</author><pubDate>Wed, 23 Mar 2022 18:01:50 +0800</pubDate><description><![CDATA[对于这种快要移溢出但是又没有溢出的数据范围，一律开long long，索引越界了，调试了一个小时。有一个测试点r=2147483647，加1就越界了，循环停不下来了
：(
难受
AC代码
#include&lt;iostream&gt;
#include&lt;cmath&gt;
using namespace std;
typedef long long LL;
const int N=1e6+10;
int l,r;
int a[N],prime[N],visit[N],cnt;
void Euler(]]></description><category></category></item><item><title><![CDATA[洛谷1069-细胞分裂-C++-（质因数分解）]]></title><link>https://blog.youkuaiyun.com/DongLUOWAN/article/details/123675827</link><guid>https://blog.youkuaiyun.com/DongLUOWAN/article/details/123675827</guid><author>DongLUOWAN</author><pubDate>Wed, 23 Mar 2022 01:01:03 +0800</pubDate><description><![CDATA[AC代码
本质上是分解质因数和一层覆盖关系，调试了几个小时，问题出在数组越界，难受死我了，不过最后还是AC了。
#include&lt;iostream&gt;
using namespace std;
#define inf 0x3f3f3f3f
const int N=10010;
int n,m1,m2;
int s[N];
//底数的质因数分解
int base[200][2],cnt;
//培养皿的质因数分解
int tbase[100010][2],tcnt;
void mysplit(int ]]></description><category></category></item><item><title><![CDATA[洛谷3601-签到题-C++-（欧拉函数）]]></title><link>https://blog.youkuaiyun.com/DongLUOWAN/article/details/123673458</link><guid>https://blog.youkuaiyun.com/DongLUOWAN/article/details/123673458</guid><author>DongLUOWAN</author><pubDate>Tue, 22 Mar 2022 22:24:43 +0800</pubDate><description><![CDATA[欧拉函数模板：对于某一个数n，我们要求小于n并且与 n互质的数的个数，我们就可以用欧拉函数来求解。phi(n)=n×(1-1/p1)×(1-1/p2)×…×（1-1/pk），其中p是小于n的质因数，这里我们可以联想整数的质因数分解定理，枚举1~sqrt（n）的所有质数，更改其欧拉函数值，同时缩小n,如果最后的值大于1，则再改变一次即可。
#include&lt;iostream&gt;
using namespace std;

#define mod  666623333
#define N    100]]></description><category></category></item><item><title><![CDATA[洛谷3388-割点-C++ && python-(tarjan割点算法)]]></title><link>https://blog.youkuaiyun.com/DongLUOWAN/article/details/123639016</link><guid>https://blog.youkuaiyun.com/DongLUOWAN/article/details/123639016</guid><author>DongLUOWAN</author><pubDate>Mon, 21 Mar 2022 16:27:04 +0800</pubDate><description><![CDATA[AC代码
C++
#include&lt;iostream&gt;
#include&lt;vector&gt;
using namespace std;

#define N 20010
int n,m;
int dfn[N],low[N],vis[N],tim=1;
int flag[N],u,v;
vector&lt;int&gt; point[N];
int min(int x,int y){
	return x&gt;y?y:x;
}
void tarjan(int cur,int far){
	]]></description><category></category></item><item><title><![CDATA[力扣285场单周赛-python]]></title><link>https://blog.youkuaiyun.com/DongLUOWAN/article/details/123612780</link><guid>https://blog.youkuaiyun.com/DongLUOWAN/article/details/123612780</guid><author>DongLUOWAN</author><pubDate>Sun, 20 Mar 2022 14:36:49 +0800</pubDate><description><![CDATA[2000/7500
此次比赛成绩十分惨烈，卡在第三题过不去。用的0-1背包+回溯，一直超时，后来看题解就是一个简单的枚举，我服了。第四题看都没看。
T1
class Solution:
    def countHillValley(self, nums: List[int]) -&gt; int:
        lth=len(nums)
        index=1
        def get_left(t,val):
            while t&gt;=1 and nums[t]=]]></description><category></category></item><item><title><![CDATA[力扣74场双周赛-python]]></title><link>https://blog.youkuaiyun.com/DongLUOWAN/article/details/123605891</link><guid>https://blog.youkuaiyun.com/DongLUOWAN/article/details/123605891</guid><author>DongLUOWAN</author><pubDate>Sun, 20 Mar 2022 00:00:07 +0800</pubDate><description><![CDATA[第一次AK，心情十分预约！

T1
class Solution:
    def divideArray(self, nums: List[int]) -&gt; bool:
        dic={}
        for i in range(len(nums)):
            if nums[i] in dic:
                dic[nums[i]]+=1
            else:
                dic[nums[i]]=1
     ]]></description><category></category></item><item><title><![CDATA[ACwing43场周赛-python]]></title><link>https://blog.youkuaiyun.com/DongLUOWAN/article/details/123601761</link><guid>https://blog.youkuaiyun.com/DongLUOWAN/article/details/123601761</guid><author>DongLUOWAN</author><pubDate>Sat, 19 Mar 2022 20:22:16 +0800</pubDate><description><![CDATA[T1
def judge(a,b,c):
    if a+b&gt;c and a+c&gt;b and b+c&gt;a:
        return True
    return False
n=int(input())
ans=[]
for i in range(1,n+1):
    for j in range(i,n+1):
        for k in range(j,n+1):
            if i^j^k==0 and judge(i,j,k):
         .]]></description><category></category></item><item><title><![CDATA[洛谷1443-马的遍历-python-(BFS)]]></title><link>https://blog.youkuaiyun.com/DongLUOWAN/article/details/123588590</link><guid>https://blog.youkuaiyun.com/DongLUOWAN/article/details/123588590</guid><author>DongLUOWAN</author><pubDate>Sat, 19 Mar 2022 08:28:26 +0800</pubDate><description><![CDATA[AC代码
if __name__=="__main__":
    n,m,x,y=map(int,input().split())
    MAP=[[-1 for i in range(m+1)] for j in range(n+1)]
    visit=[[0 for i in range(m+1)]for j in range(n+1)]
    MAP[x][y]=0
    visit[x][y]=1


    dx=[-1,-2,-2,-1,1,2,2,1]
    dy=[2,1,-1]]></description><category></category></item><item><title><![CDATA[洛谷1092-最大公约数与最小公倍数-python-(gcd)]]></title><link>https://blog.youkuaiyun.com/DongLUOWAN/article/details/123557384</link><guid>https://blog.youkuaiyun.com/DongLUOWAN/article/details/123557384</guid><author>DongLUOWAN</author><pubDate>Thu, 17 Mar 2022 18:33:27 +0800</pubDate><description><![CDATA[此题注意一定要对枚举的数进行预处理，确保这个数是x的倍数，是y的因子，这样枚举就不会超时。
AC代码
def gcd(x,y):
    return x if y==0 else gcd(y,x%y)
x,y=map(int,input().split())
ans=[]
for i in range(x,y+1):
    if i%x==0 and y%i==0:
        ans.append(i)

lth=len(ans)
cnt=0
for i in range(lth):
    fo]]></description><category></category></item><item><title><![CDATA[ACwing-每日一题打卡第三题-python-(bfs)]]></title><link>https://blog.youkuaiyun.com/DongLUOWAN/article/details/123534016</link><guid>https://blog.youkuaiyun.com/DongLUOWAN/article/details/123534016</guid><author>DongLUOWAN</author><pubDate>Wed, 16 Mar 2022 19:32:52 +0800</pubDate><description><![CDATA[分类比较复杂，整体来讲比较简单
dic={'Ox': 1, 'Tiger': 2, 'Rabbit': 3, 'Dragon': 4, 'Snake': 5, 'Horse': 6, 'Goat': 7, 'Monkey': 8, 'Rooster': 9, 'Dog': 10, 'Pig': 11, 'Rat': 12}
n=int(input())
side=[[] for i in range(n)]

#记录一共出现了几个名字
namedic=set()

#记录每个牛的生肖
animal={"Be]]></description><category></category></item><item><title><![CDATA[洛谷3865-ST表模板-C++-（ST表+倍增）]]></title><link>https://blog.youkuaiyun.com/DongLUOWAN/article/details/123515735</link><guid>https://blog.youkuaiyun.com/DongLUOWAN/article/details/123515735</guid><author>DongLUOWAN</author><pubDate>Wed, 16 Mar 2022 00:02:13 +0800</pubDate><description><![CDATA[AC代码
关于这个代码，调了大半天，最后错在运算符优先级上，真的服了自己。
对于j+1&lt;&lt;(i-1)这一段语句，我原本想的是 j加上2^(i-1)， 但是运算的结果却是(j+1)^(i-1),导致代码一直出错。
😦 难受的一个晚上
希望在以后的代码过程中能够避免此类错误。
#include&lt;iostream&gt;
#include&lt;algorithm&gt;
#include&lt;math.h&gt;
using namespace std;
#define N 100010
#]]></description><category></category></item><item><title><![CDATA[洛谷3379-LCA-C++-（LCA+倍增）]]></title><link>https://blog.youkuaiyun.com/DongLUOWAN/article/details/123500060</link><guid>https://blog.youkuaiyun.com/DongLUOWAN/article/details/123500060</guid><author>DongLUOWAN</author><pubDate>Tue, 15 Mar 2022 13:04:06 +0800</pubDate><description><![CDATA[由于python超时了四五个点，所以用C++写了一下
AC代码
#include&lt;iostream&gt;
#include&lt;vector&gt;
using namespace std;
#define N 500010
int n,m,s;
int vis[N],far[N][20],dep[N];
vector&lt;int&gt; point[N];
void dfs(int root,int deep){
	dep[root]=deep;
	vis[root]=1;
	for(int ]]></description><category></category></item><item><title><![CDATA[洛谷3366-最小生成树-python-(kruskal+并查集)]]></title><link>https://blog.youkuaiyun.com/DongLUOWAN/article/details/123497021</link><guid>https://blog.youkuaiyun.com/DongLUOWAN/article/details/123497021</guid><author>DongLUOWAN</author><pubDate>Tue, 15 Mar 2022 10:52:43 +0800</pubDate><description><![CDATA[TLE3个点的代码,没办法，python循环太慢了。
#克鲁斯卡尔
global n,m
global side
global parent
def find(x):
    while parent[x]!=-1:
        x=parent[x]
    return x
def kruskal():
    ans=0
    #找到n-1条边就退出循环
    count=0
    for i in range(m):
        u,v,w=side[i][0],side[i][1],]]></description><category></category></item><item><title><![CDATA[洛谷3366-最小生成树-python-（prim算法）]]></title><link>https://blog.youkuaiyun.com/DongLUOWAN/article/details/123489547</link><guid>https://blog.youkuaiyun.com/DongLUOWAN/article/details/123489547</guid><author>DongLUOWAN</author><pubDate>Mon, 14 Mar 2022 21:46:45 +0800</pubDate><description><![CDATA[70分代码，python超时了
# prim

global n,m,side,point
global lowcost,clost

def prim(sta):
    lowcost[sta],lth=0,len(point[sta])
    
    for i in range(lth):
        u,v,w=side[point[sta][i]][0],side[point[sta][i]][1],side[point[sta][i]][2]
        if v!=sta:
  ]]></description><category></category></item></channel></rss>