<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Apel_dey]]></title><description><![CDATA[一切都是命运石之门的选择]]></description><link>https://blog.youkuaiyun.com/Apel_dey</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Apel_dey]]></copyright><item><title><![CDATA[BZOJ 4373 算术天才⑨与等差数列]]></title><link>https://blog.youkuaiyun.com/Apel_dey/article/details/90685758</link><guid>https://blog.youkuaiyun.com/Apel_dey/article/details/90685758</guid><author>Apel_dey</author><pubDate>Thu, 30 May 2019 02:11:36 +0800</pubDate><description><![CDATA[算术天才⑨非常喜欢和等差数列玩耍。
有一天，他给了你一个长度为n的序列，其中第i个数为a[i]。
他想考考你，每次他会给出询问l,r,k，问区间[l,r]内的数从小到大排序后能否形成公差为k的等差数列。
当然，他还会不断修改其中的某一项。
为了不被他鄙视，你必须要快速并正确地回答完所有问题。
注意：只有一个数的数列也是等差数列。

Input
第一行包含两个正整数n,m(1&lt;=n,m&lt;...]]></description><category></category></item><item><title><![CDATA[Havel-Hakimi定理]]></title><link>https://blog.youkuaiyun.com/Apel_dey/article/details/89888057</link><guid>https://blog.youkuaiyun.com/Apel_dey/article/details/89888057</guid><author>Apel_dey</author><pubDate>Mon, 06 May 2019 17:54:12 +0800</pubDate><description><![CDATA[可图：一个非负整数组成的序列如果是某个无向图的度序列，则该序列是可图的。
度序列：Sequence Degree，若把图G所有顶点的度数排成一个序列，责成该序列为图G的一个序列。该序列可以是非递增序的、可以是非递减序列、可以是任意无序的。
由非负整数组成的非增序列s（度序列）：d1，d2，…，dn（n&gt;=2，d1&gt;=1）是可图的，当且仅当序列：
s1:d2 – 1，d3 – 1，…，d...]]></description><category></category></item><item><title><![CDATA[BZOJ1072-[SCOI2007]排列perm（暴力）]]></title><link>https://blog.youkuaiyun.com/Apel_dey/article/details/82384457</link><guid>https://blog.youkuaiyun.com/Apel_dey/article/details/82384457</guid><author>Apel_dey</author><pubDate>Tue, 04 Sep 2018 15:31:51 +0800</pubDate><description><![CDATA[排列随便搞：

输入一个长度小于等于10的数串，问这个串的所有排列被d整除的个数，T&amp;lt;=15。 
10！=3628800 
3628800*10=36288000 
3628800*10*15=544320000 
不会dp，所以暴力

代码：

#include&amp;lt;bits/stdc++.h&amp;gt;
using namespace std;
int d;
int main(){
   ...]]></description><category></category></item><item><title><![CDATA[CodeForces 620E  New Year Tree （DFS序+线段树）]]></title><link>https://blog.youkuaiyun.com/Apel_dey/article/details/82195145</link><guid>https://blog.youkuaiyun.com/Apel_dey/article/details/82195145</guid><author>Apel_dey</author><pubDate>Thu, 30 Aug 2018 02:59:09 +0800</pubDate><description><![CDATA[做法：

因为只有60种颜色，所以可以状压颜色，这样的话就可以把区间颜色合并的操作看为“或”，线段树随便维护一下就可以了。 
WA了无数发才想起来 ”1LL &amp;amp;lt;&amp;amp;lt; 一个东西“ 和 “1 &amp;amp;lt;&amp;amp;lt; 一个long long 的东西” 是不一样的(打多校的时候还WA过一发)……贼气.



代码：



#include&amp;amp;lt;bits/stdc++.h&amp;amp;gt;
using name...]]></description><category></category></item><item><title><![CDATA[BZOJ 1054移动玩具（BFS+哈希表）]]></title><link>https://blog.youkuaiyun.com/Apel_dey/article/details/82183553</link><guid>https://blog.youkuaiyun.com/Apel_dey/article/details/82183553</guid><author>Apel_dey</author><pubDate>Wed, 29 Aug 2018 15:09:49 +0800</pubDate><description><![CDATA[搜索，哈希判重



#include&amp;amp;lt;bits/stdc++.h&amp;amp;gt;
using namespace std;
bool vis[65540];
int dx[4]={0,0,1,-1};
int dy[4]={-1,1,0,0};
struct sta{
    int a[5][5];
    int step;
}bg,ed;
int hash_ed;
int ha(sta a)...]]></description><category></category></item><item><title><![CDATA[codeforces 461B 树形dp]]></title><link>https://blog.youkuaiyun.com/Apel_dey/article/details/81844907</link><guid>https://blog.youkuaiyun.com/Apel_dey/article/details/81844907</guid><author>Apel_dey</author><pubDate>Mon, 20 Aug 2018 01:29:43 +0800</pubDate><description><![CDATA[做法：

dp[i][0]表示以节点 i 为根的子树没有黑点的方案数，dp[i][1]表示以节点 i 为根的子树中有且仅有一个黑点的方案数。 
    转移的办法是对于这个树上的每一个节点，如果这个节点是白点，那么就会发现它的子树对dp[i][0]的影响就是不断把（dp[ e[i].to ][0]+dp[ e[i].to ][1]）累乘起来，因为如果 i 的一个子树是个全白的树的话就是连边，不是全...]]></description><category></category></item><item><title><![CDATA[hdu6370 werewolf 缩点+搜索]]></title><link>https://blog.youkuaiyun.com/Apel_dey/article/details/81564889</link><guid>https://blog.youkuaiyun.com/Apel_dey/article/details/81564889</guid><author>Apel_dey</author><pubDate>Fri, 10 Aug 2018 15:56:33 +0800</pubDate><description><![CDATA[把图画一画可以发现只能判断铁狼，没有确定的村民，铁狼会存在于一个环中，这个环里面如果只有一个人被认为是狼，那么他就是铁狼，可以很容易看出这是一个基环内向树的样子，所以就会发现，如果还有人说这个铁狼是村民的话，那说这个狼是村民的人就是狼。于是就可以想到有些环是没有用的环，如果有一个环上的边都是村民边，那这个环没有卵用，直接缩掉。至于如何搜答案，可以很快想到先确定环上的狼，然后向外扩展，于是就可以反向...]]></description><category></category></item><item><title><![CDATA[BZOJ1588[HNOI2002]营业额统计（Splay）]]></title><link>https://blog.youkuaiyun.com/Apel_dey/article/details/81408049</link><guid>https://blog.youkuaiyun.com/Apel_dey/article/details/81408049</guid><author>Apel_dey</author><pubDate>Sat, 04 Aug 2018 10:23:50 +0800</pubDate><description><![CDATA[题目中“最小波动值”的意思是，之前的所有数中与当前数值的差的绝对值最小值是多少。 
做法是Splay求前驱和后继：

#include&amp;amp;lt;bits/stdc++.h&amp;amp;gt;
using namespace std;
const int maxn=40005;
struct node{
    int fa,ch[2];
    int cnt,siz;
    int val;
}t[maxn...]]></description><category></category></item><item><title><![CDATA[BZOJ1012 ST表]]></title><link>https://blog.youkuaiyun.com/Apel_dey/article/details/81308975</link><guid>https://blog.youkuaiyun.com/Apel_dey/article/details/81308975</guid><author>Apel_dey</author><pubDate>Tue, 31 Jul 2018 16:02:30 +0800</pubDate><description><![CDATA[链接：https://www.lydsy.com/JudgeOnline/problem.php?id=1012 
做法就是倒着做ST表，这样就可以实现log(n)更新，O(1)查询。 
代码：

#include&amp;amp;lt;bits/stdc++.h&amp;amp;gt;
using namespace std;
const int maxn=200005;
int stmax[maxn][20];
int lo...]]></description><category></category></item><item><title><![CDATA[牛客多校2018四、A]]></title><link>https://blog.youkuaiyun.com/Apel_dey/article/details/81278343</link><guid>https://blog.youkuaiyun.com/Apel_dey/article/details/81278343</guid><author>Apel_dey</author><pubDate>Mon, 30 Jul 2018 01:05:22 +0800</pubDate><description><![CDATA[题解：

很显然地发现对于某个位置的一个1或2，它对答案的贡献与之前进行了多少秒有关，所以赶紧打个表看一看，就发现对于某一个1来说，它对答案的贡献就是(t*2+2)，t是之前经过的时间，对于2的情况，打出假设输入的数列是“2”，“02”，“002”，“0002”的表，就发现答案分别是3，9，21，45，93……对这个答案数列做个差分，发现它的差分数列是等比数列，等比数列求和一下就是通项公式，就是3...]]></description><category></category></item><item><title><![CDATA[牛客多校一   A、D、E、J]]></title><link>https://blog.youkuaiyun.com/Apel_dey/article/details/81140547</link><guid>https://blog.youkuaiyun.com/Apel_dey/article/details/81140547</guid><author>Apel_dey</author><pubDate>Sat, 21 Jul 2018 00:44:26 +0800</pubDate><description><![CDATA[因为太菜了，所以只能补到4题 
A:题目描述：https://www.nowcoder.com/acm/contest/139/A 
解法： 
    考虑0，1，2的分界线是可重叠但不相交的路径，所以将其中一条向左上或右下平移一格，然后套用LGV。 
    LGV的二阶简证：考虑两个起点两个终点，交换终点之后可使得两路径必定相交，对于此时的相交情况，交换终点，就是原路径的相交情况，因此答案就等...]]></description><category></category></item><item><title><![CDATA[POJ-3694  Network  （桥）]]></title><link>https://blog.youkuaiyun.com/Apel_dey/article/details/81029473</link><guid>https://blog.youkuaiyun.com/Apel_dey/article/details/81029473</guid><author>Apel_dey</author><pubDate>Fri, 13 Jul 2018 12:40:36 +0800</pubDate><description><![CDATA[题意是给一个无向图，q个询问，每次询问加上一条边之后剩余的桥的数量。 
首先就是缩成一个只有桥的图，此时就会缩成一颗树，这时减少的桥就是询问的两点到他们的lca的距离，由于询问只有1000，所以LCA写暴力就可以实现。



#include&amp;amp;lt;cstdio&amp;amp;gt;
#include&amp;amp;lt;iostream&amp;amp;gt;
#include&amp;amp;lt;algorithm&amp;amp;gt;
#include&amp;amp;lt;c]]></description><category></category></item><item><title><![CDATA[POJ-3281Dining 最大流]]></title><link>https://blog.youkuaiyun.com/Apel_dey/article/details/80173939</link><guid>https://blog.youkuaiyun.com/Apel_dey/article/details/80173939</guid><author>Apel_dey</author><pubDate>Wed, 02 May 2018 23:45:00 +0800</pubDate><description><![CDATA[这题是挑战程序设计竞赛的例题，因为师兄讲了所以就补了



做法：

建图的方法是：加一个源点和汇点，讲饮料或食物分别连向源点、汇点，对于每一头牛，把它和它喜欢的食物和饮料连边，由于每一头牛在考虑的时候都是只能被一个边流入和流出（因为每一头牛都是只能吃一个食物喝一个饮料），所以把牛拆点（假如拆成牛1，牛2），就在牛1和牛2之间连一条边。然后源点到汇点跑一遍dinic就可以了。

代码：



#p...]]></description><category></category></item><item><title><![CDATA[BZOJ 1012线段树]]></title><link>https://blog.youkuaiyun.com/Apel_dey/article/details/79866280</link><guid>https://blog.youkuaiyun.com/Apel_dey/article/details/79866280</guid><author>Apel_dey</author><pubDate>Mon, 09 Apr 2018 14:39:47 +0800</pubDate><description><![CDATA[[JSOI2008]最大数maxnumber 
Time Limit: 3 Sec  Memory Limit: 162 MB 
Submit: 12934  Solved: 5570 
[Submit][Status][Discuss] 
Description

　　现在请求你维护一个数列，要求提供以下两种操作：1、 查询操作。语法：Q L 功能：查询当前数列中末尾L 
个数中的最大的数，并输...]]></description><category></category></item><item><title><![CDATA[wannafly挑战赛13A]]></title><link>https://blog.youkuaiyun.com/Apel_dey/article/details/79860292</link><guid>https://blog.youkuaiyun.com/Apel_dey/article/details/79860292</guid><author>Apel_dey</author><pubDate>Mon, 09 Apr 2018 00:49:51 +0800</pubDate><description><![CDATA[链接：https://www.nowcoder.com/acm/contest/80/A
来源：牛客网

题目描述


    学家zzy根据字体的特点，创建了一系列小号...  I_Love_Chtholly!




又到了打wannafly的时候，许许多多的大佬准备注册小号开始虐场，zzy也不例外，他发现他的电脑的字体有一个特点！某些不同的字符所显示的是一样的！



满足以下四种情况之一，...]]></description><category></category></item><item><title><![CDATA[noip2006pj第四题 数列]]></title><link>https://blog.youkuaiyun.com/Apel_dey/article/details/79838338</link><guid>https://blog.youkuaiyun.com/Apel_dey/article/details/79838338</guid><author>Apel_dey</author><pubDate>Sat, 07 Apr 2018 00:23:41 +0800</pubDate><description><![CDATA[题目描述

给定一个正整数k(3≤k≤15),把所有k的方幂及所有有限个互不相等的k的方幂之和构成一个递增的序列，例如，当k=3时，这个序列是：

1，3，4，9，10，12，13，…

（该序列实际上就是：3^0，3^1，3^0+3^1，3^2，3^0+3^2，3^1+3^2，3^0+3^1+3^2，…）

请你求出这个序列的第N项的值（用10进制数表示）。

例如，对于k=3，N=100，正确...]]></description><category></category></item><item><title><![CDATA[2016 Pacific Northwest Region Programming Contest—Division 2   Y - Zigzag]]></title><link>https://blog.youkuaiyun.com/Apel_dey/article/details/79835390</link><guid>https://blog.youkuaiyun.com/Apel_dey/article/details/79835390</guid><author>Apel_dey</author><pubDate>Fri, 06 Apr 2018 17:48:04 +0800</pubDate><description><![CDATA[类似于LIS



#include&amp;amp;lt;bits/stdc++.h&amp;amp;gt;
using namespace std;
int n;
int f[55][2],a[55];
int main()
{
    ios::sync_with_stdio(false);
    cin.tie(0);
    cin&amp;amp;gt;&amp;amp;gt;n;
    for(int i=1;i&amp;amp;lt;=n;i++) cin...]]></description><category></category></item><item><title><![CDATA[牛客练习赛14      A、N的约数]]></title><link>https://blog.youkuaiyun.com/Apel_dey/article/details/79834706</link><guid>https://blog.youkuaiyun.com/Apel_dey/article/details/79834706</guid><author>Apel_dey</author><pubDate>Fri, 06 Apr 2018 16:44:32 +0800</pubDate><description><![CDATA[题目描述: 
     t次询问，每次给你一个数n，求在[1,n]内约数个数最多的数的约数个数 
输入描述: 
     第一行一个正整数t 
     之后t行，每行一个正整数n 
输出描述: 
     输出t行，每行一个整数，表示答案

一个书的约数的个数等于把它素因数分解得到的素因数的指数都+1然后累乘。 
小的素因数的指数大的话会更优。 
now记录现在乘到了多少，ans统计答案，num...]]></description><category></category></item><item><title><![CDATA[2017多校（5） A、Rikka with Candies   bitset]]></title><link>https://blog.youkuaiyun.com/Apel_dey/article/details/79834577</link><guid>https://blog.youkuaiyun.com/Apel_dey/article/details/79834577</guid><author>Apel_dey</author><pubDate>Fri, 06 Apr 2018 16:32:04 +0800</pubDate><description><![CDATA[Rikka with Candies        //bitset

bitset a、b分别保存a、b数组出现与否，a左移和右移就可以表示a(+/-)k。 
把b的倍数在b1中做出来。

#pragma GCC optimize(2)
#include&amp;amp;lt;iostream&amp;amp;gt;
#include&amp;amp;lt;cstdio&amp;amp;gt;
#include&amp;amp;lt;bitset&amp;amp;gt;
using nam...]]></description><category></category></item><item><title><![CDATA[hdu1087 最大上升子串和]]></title><link>https://blog.youkuaiyun.com/Apel_dey/article/details/79546419</link><guid>https://blog.youkuaiyun.com/Apel_dey/article/details/79546419</guid><author>Apel_dey</author><pubDate>Tue, 13 Mar 2018 20:44:24 +0800</pubDate><description><![CDATA[因为a[i]可以是负值，所以要把f[i]全都初始化成a[i]。

#include&amp;amp;lt;iostream&amp;amp;gt;
#include&amp;amp;lt;cstdio&amp;amp;gt;
#include&amp;amp;lt;cstring&amp;amp;gt;
using namespace std;
const int maxn=1005;
long long f[maxn],a[maxn];
int n;
int main()
{
    io...]]></description><category></category></item></channel></rss>