<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[7泽要努力吖]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/qq_42920137</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; qq_42920137]]></copyright><item><title><![CDATA[修复道路]]></title><link>https://blog.youkuaiyun.com/qq_42920137/article/details/90080012</link><guid>https://blog.youkuaiyun.com/qq_42920137/article/details/90080012</guid><author>qq_42920137</author><pubDate>Fri, 10 May 2019 17:00:33 +0800</pubDate><description><![CDATA[题目传送门sx
从小到大排序
并查集来连接连通块，每连接一个总量减一，直到减为一，输出
#include &lt;iostream&gt;
#include &lt;cstdio&gt;
#include &lt;algorithm&gt;
using namespace std;
const int N=100010;
int n,m,s,fa[N];
struct st{
	int x,y,t...]]></description><category></category></item><item><title><![CDATA[高精度乘法]]></title><link>https://blog.youkuaiyun.com/qq_42920137/article/details/90069402</link><guid>https://blog.youkuaiyun.com/qq_42920137/article/details/90069402</guid><author>qq_42920137</author><pubDate>Fri, 10 May 2019 15:43:44 +0800</pubDate><description><![CDATA[#include &lt;iostream&gt;
#include &lt;cstdio&gt;
#include &lt;cstring&gt;
using namespace std;
char a[2010],b[2010];
int x[2010],y[2010],ans[2050];
int main()
{
	cin&gt;&gt;a&gt;&gt;b;
	int len1=strl...]]></description><category></category></item><item><title><![CDATA[bzoj疯狂的馒头]]></title><link>https://blog.youkuaiyun.com/qq_42920137/article/details/90068860</link><guid>https://blog.youkuaiyun.com/qq_42920137/article/details/90068860</guid><author>qq_42920137</author><pubDate>Fri, 10 May 2019 15:40:10 +0800</pubDate><description><![CDATA[题目传送门sx
最后染色的馒头一定不会再被更改，所以倒着来染色；
用并查集来维护染了的区间，直接跳到祖先
因为染色是连续的点，把染了色的点的祖先设成右端点；
在区间内逐个染色，如果该点被染色，就把指针直接跳到该点的祖先；
如果跳到的祖先超出了r，别忘了跳出循环
注意左端点小于等右端点
#include &lt;iostream&gt;
#include &lt;cstdio&gt;
using n...]]></description><category></category></item><item><title><![CDATA[[JSOI2008]星球大战]]></title><link>https://blog.youkuaiyun.com/qq_42920137/article/details/90067763</link><guid>https://blog.youkuaiyun.com/qq_42920137/article/details/90067763</guid><author>qq_42920137</author><pubDate>Fri, 10 May 2019 15:32:48 +0800</pubDate><description><![CDATA[题目传送门sx
用并查集来做；
因为并查集只能连边，而不能删，所以倒过来做；
先记下每条边两边的点，正反向连边；
把该摧毁的星球摧毁，剩下n-k个独立点（互不连通），然后一个一个往上连边合并；
如果边的两端点星球都没有被摧毁，就合并祖先，每合并一个，连通块数减一；
然后从k到1进行合并，每合并一个就减一，
#include &lt;iostream&gt;
#include &lt;cstdio&...]]></description><category></category></item><item><title><![CDATA[国王游戏]]></title><link>https://blog.youkuaiyun.com/qq_42920137/article/details/90044325</link><guid>https://blog.youkuaiyun.com/qq_42920137/article/details/90044325</guid><author>qq_42920137</author><pubDate>Thu, 09 May 2019 17:39:12 +0800</pubDate><description><![CDATA[题目传送门sx
设任意两个相邻的大臣数字为a[i],b[i],a[j],b[j];
推导推导可得出按a*b从小到大排序是最优的；
写高精  恶心
#include &lt;iostream&gt;
#include &lt;cstdio&gt;
#include &lt;cstring&gt;
#include &lt;algorithm&gt;
using namespace std;
cons...]]></description><category></category></item><item><title><![CDATA[清北——dwarf tower]]></title><link>https://blog.youkuaiyun.com/qq_42920137/article/details/90044068</link><guid>https://blog.youkuaiyun.com/qq_42920137/article/details/90044068</guid><author>qq_42920137</author><pubDate>Thu, 09 May 2019 17:33:56 +0800</pubDate><description><![CDATA[正向扫一遍，再反向扫一遍；
正向扫的过程中，后面的不断被更改，但扫过去的数无法被后面的改了的数再改，所以在反向来一遍；
因为正向时最后一个一定是最优的，再用最优的不断往前扫所有也都是最优的
#include&lt;iostream&gt;
#include&lt;cstdio&gt;
#include&lt;algorithm&gt;
using namespace std;
int n,m,an...]]></description><category></category></item><item><title><![CDATA[清北——第k小数（number）]]></title><link>https://blog.youkuaiyun.com/qq_42920137/article/details/90043783</link><guid>https://blog.youkuaiyun.com/qq_42920137/article/details/90043783</guid><author>qq_42920137</author><pubDate>Thu, 09 May 2019 17:27:48 +0800</pubDate><description><![CDATA[把两个序列排序，知道最大的数和最小的数，在范围内二分答案；
如果小于mid的数大于等于k个，说明mid太大；
反之，mid太小；
#include &lt;iostream&gt;
#include &lt;cstdio&gt;
#include &lt;algorithm&gt;
#define LL long long
using namespace std;
const int N=2e5+...]]></description><category></category></item><item><title><![CDATA[清北——列车调度（manage）]]></title><link>https://blog.youkuaiyun.com/qq_42920137/article/details/90043573</link><guid>https://blog.youkuaiyun.com/qq_42920137/article/details/90043573</guid><author>qq_42920137</author><pubDate>Thu, 09 May 2019 17:23:13 +0800</pubDate><description><![CDATA[本题求最长上升子序列
#include &lt;iostream&gt;
#include &lt;cstdio&gt;
using namespace std;
int n,st[100010],ans;
int main()
{
	freopen("manage.in","r",stdin);
	freopen("manage.out","w",stdout);
	cin&gt;&gt;n;
...]]></description><category></category></item><item><title><![CDATA[清北——三角形（trokuti）]]></title><link>https://blog.youkuaiyun.com/qq_42920137/article/details/90043450</link><guid>https://blog.youkuaiyun.com/qq_42920137/article/details/90043450</guid><author>qq_42920137</author><pubDate>Thu, 09 May 2019 17:21:30 +0800</pubDate><description><![CDATA[任意三条斜率不同的直线都可以组成三角形；
用结构体数组存下a[i],b[i];
按a[i]升序排列；
记录同为一个斜率的直线条数num[i];
多少种斜率 m
ans=在n条中任意选三条方案数 - 一种斜率中用了两条，在其他种直线中任选一条方案数-同一斜率用了三条直线方案数
#include &lt;iostream&gt;
#include &lt;cstdio&gt;
#include &lt...]]></description><category></category></item><item><title><![CDATA[清北——传球接力（pass）]]></title><link>https://blog.youkuaiyun.com/qq_42920137/article/details/90042660</link><guid>https://blog.youkuaiyun.com/qq_42920137/article/details/90042660</guid><author>qq_42920137</author><pubDate>Thu, 09 May 2019 17:07:00 +0800</pubDate><description><![CDATA[一个人只会把球传给一个人
找连通块，找环；一个连通块内只有一个环；
球传到环内才会终止；
最大传球距离，一个环加上从环中的一个点出发的被传过来的距离；
枚举取最大
把入度为零的点存入队列中，开始向中间走，不断更新到被传球的人的最大传球距离，当前的人所传球的人入度–；
如果入度等于零了，就入队；
处于环中的点入度必定不为零；
找入度不为零的点，开始答案
#include &lt;iostream&g...]]></description><category></category></item><item><title><![CDATA[清北——业务办理（transact）]]></title><link>https://blog.youkuaiyun.com/qq_42920137/article/details/90042080</link><guid>https://blog.youkuaiyun.com/qq_42920137/article/details/90042080</guid><author>qq_42920137</author><pubDate>Thu, 09 May 2019 16:56:21 +0800</pubDate><description><![CDATA[贪心
假设d[i]&lt;d[j]
当i排在j前面时 ans=max(两个人不满意度)
j排在i前 ans=max（）
可以看出 j排在i前的答案要比i排在j前的答案大，但我们要取小的，所以
当 d[i]&lt;d[j] 时，i排在j前面最优；
所以把n个d[i]从小到大排序，找最大的就行了
#include &lt;iostream&gt;
#include &lt;cstdio&gt;
#in...]]></description><category></category></item><item><title><![CDATA[清北——序(sort)]]></title><link>https://blog.youkuaiyun.com/qq_42920137/article/details/90041499</link><guid>https://blog.youkuaiyun.com/qq_42920137/article/details/90041499</guid><author>qq_42920137</author><pubDate>Thu, 09 May 2019 16:42:56 +0800</pubDate><description><![CDATA[本题就是求最长上升子序列
#include &lt;iostream&gt;
using namespace std; 
int i,j,n,s,t,a[100001];
int main()
{
	freopen("sort.in","r",stdin);
	freopen("sort.out","w",stdout);
    cin&gt;&gt;n;
    a[0]=-1000000;
...]]></description><category></category></item><item><title><![CDATA[清北——迷（enc）]]></title><link>https://blog.youkuaiyun.com/qq_42920137/article/details/90041408</link><guid>https://blog.youkuaiyun.com/qq_42920137/article/details/90041408</guid><author>qq_42920137</author><pubDate>Thu, 09 May 2019 16:41:38 +0800</pubDate><description><![CDATA[本体模拟一下就好，数据有个坑
英文二十六个字母，他给了二十五个对应，那么最后一个字母也就相应的对应了
#include &lt;iostream&gt;
#include &lt;cstdio&gt;
#include &lt;cstring&gt;
using namespace std;
char a[1010],b[1010],c[1010],f[100];
int d[100],num;
...]]></description><category></category></item><item><title><![CDATA[清北——运(lucky)]]></title><link>https://blog.youkuaiyun.com/qq_42920137/article/details/90040821</link><guid>https://blog.youkuaiyun.com/qq_42920137/article/details/90040821</guid><author>qq_42920137</author><pubDate>Thu, 09 May 2019 16:30:30 +0800</pubDate><description><![CDATA[本题特点 幸运数的个数非常少，打暴力算一算在题目范围中是1022个；
用dp递推，dp[i][j]表示用前i个幸运数排成长度j的序列所得方案数；
dp[i][j]=dp[i-1][j]（前i-1个数组成j的方案数，也就是不用第i个）+b[i]*dp[i-1][j-1];
b[i]表示第i个幸运数在序列中出现的次数；
一共有k个数，其中i个数用非幸运数，k-i个用幸运数，用排列组合求得用非幸运数的方...]]></description><category></category></item><item><title><![CDATA[清北——游 （tour)]]></title><link>https://blog.youkuaiyun.com/qq_42920137/article/details/90037944</link><guid>https://blog.youkuaiyun.com/qq_42920137/article/details/90037944</guid><author>qq_42920137</author><pubDate>Thu, 09 May 2019 15:45:03 +0800</pubDate><description><![CDATA[n-1条边，是一棵树，那么为了使每一个树枝全都遍历一遍，
走到一个树枝尾巴时必须要倒回到树干走起他树枝，那么一个树枝要走两遍，
但最后一条树枝走完就不用倒回去了，所以是所有边权和的二倍减去最后一条树枝；
要使答案最小，使最后走的树枝最长就可以了。
求单源最长路，用dijkstra堆优化就可以了
#include &lt;iostream&gt;
#include &lt;cstdio&gt;
#i...]]></description><category></category></item><item><title><![CDATA[清北——算（sum）]]></title><link>https://blog.youkuaiyun.com/qq_42920137/article/details/90037378</link><guid>https://blog.youkuaiyun.com/qq_42920137/article/details/90037378</guid><author>qq_42920137</author><pubDate>Thu, 09 May 2019 15:37:11 +0800</pubDate><description><![CDATA[本题用等比数列求和公式
Sn=(a1(qn -1))/(q-1);
用乘法逆元求除法意义上的取模运算
快速幂计算；
#include &lt;iostream&gt;
#include &lt;cstdio&gt;
#define LL long long
using namespace std;
const LL MOD=1e9+7;
LL n,m,ans;
LL ksm(LL x,LL y)
...]]></description><category></category></item><item><title><![CDATA[队列安排]]></title><link>https://blog.youkuaiyun.com/qq_42920137/article/details/89789799</link><guid>https://blog.youkuaiyun.com/qq_42920137/article/details/89789799</guid><author>qq_42920137</author><pubDate>Sat, 04 May 2019 10:40:34 +0800</pubDate><description><![CDATA[题目传送门sxynla
记录每个人左右相邻的两个人，zuo数组和 you 数组
#include &lt;iostream&gt;
#include &lt;cstdio&gt;
using namespace std;
const int N=100010;
int n,zuo[N],you[N],tou,m;
bool vis[N];
int main()
{
	cin&gt;&gt;n;to...]]></description><category></category></item><item><title><![CDATA[最大子段和]]></title><link>https://blog.youkuaiyun.com/qq_42920137/article/details/89789709</link><guid>https://blog.youkuaiyun.com/qq_42920137/article/details/89789709</guid><author>qq_42920137</author><pubDate>Fri, 03 May 2019 17:47:29 +0800</pubDate><description><![CDATA[题目传送门sxynla
维护一个非负的前缀和sum，如果sum&lt;0,则 令sum=0;
sum+=a; 取过程中最大的即为答案；
代码
#include &lt;iostream&gt;
#include &lt;cstdio&gt;
using namespace std;
int sum,n,a,ans=-1e9;
int main()
{
	scanf("%d",&amp;n);
	w...]]></description><category></category></item><item><title><![CDATA[马的遍历]]></title><link>https://blog.youkuaiyun.com/qq_42920137/article/details/89706176</link><guid>https://blog.youkuaiyun.com/qq_42920137/article/details/89706176</guid><author>qq_42920137</author><pubDate>Tue, 30 Apr 2019 11:36:29 +0800</pubDate><description><![CDATA[题目传送门sx
搜一下
注意输出格式
#include &lt;iostream&gt;
#include &lt;cstdio&gt;
using namespace std;
int n,m,s,t,ans[410][410],bushu[100000];
bool vis[410][410];
int tiao[8][2]={{2,1},{1,2},{-1,2},{-2,1},{-2,-1}...]]></description><category></category></item><item><title><![CDATA[小B的询问（莫队）]]></title><link>https://blog.youkuaiyun.com/qq_42920137/article/details/89641124</link><guid>https://blog.youkuaiyun.com/qq_42920137/article/details/89641124</guid><author>qq_42920137</author><pubDate>Sun, 28 Apr 2019 16:42:38 +0800</pubDate><description><![CDATA[题目传送门rzcrxx
大佬的博客，里面莫队算法很详细；
本题要么是+（2n+1），要么是+（-2n+1）
(n+1)2=n2+2n+1;
(n-1)2=n2-2n+1;
代码
#include &lt;iostream&gt;
#include &lt;cstdio&gt;
#include &lt;algorithm&gt;
#include &lt;cmath&gt;
using names...]]></description><category></category></item></channel></rss>