自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Pure_W的博客

博客的主人很懒,什么都没有留下=w=

  • 博客(158)
  • 收藏
  • 关注

原创 留给我自己的一些小小的话

留给我自己的一些小小的话

2017-04-18 20:35:13 477

原创 三维偏序下求最长“上升”序列的分治做法讲解

Part 0​ 首先,做一个人畜无害的假设:箱子之间的三维长度彼此不同。约定每个箱子的三维用 xyzxyzxyz 表示。Part 1​ 让我们从一个 dpdpdp 做法讲起:​ 记 f[i]f[i]f[i] 表示第 iii 个箱子最多能做几层套娃,那么假如能装进第 iii 个箱子的那些箱子(记为 jjj)的 f[j]f[j]f[j] 都已经被正确计算了[1]^{[1]}[1],那么有 f[...

2020-04-13 01:32:21 477

原创 Codeforces Round #528 (Div. 1, based on Technocup 2019 Elimination R D. Rock-Paper-Scissors Champion

https://codeforces.com/contest/1086/problem/D因为每次只修改一个位置,很容易想到去确认每次造成的变化。但是实际上最后都绕不过一个问题,怎么判断一个人是否可以成为冠军。那么相当于在不动这个人的情况下,要把两边的克制它的人清掉。换句话说(以剪刀为例),某一侧有石头,那么那一侧就要有布。那么对应的不能成为冠军的剪刀就是最左边的石头到最左边的布之间的(要...

2019-01-03 12:24:32 284

原创 [Codeforces] Round #528 div1C div2E

https://codeforces.com/contest/1086/problem/C贪心匹配,只有三种状态:压上界,压下界,不压界(出解)#include<bits/stdc++.h>using namespace std;#define N 1000005int n,k;char a[N],b[N],c[N];int go[30];bool use[30];...

2018-12-24 08:22:54 262

原创 [51nod] 2388 首都

https://www.51nod.com/Challenge/Problem.html#!#problemId=2388曼哈顿距离与切比雪夫距离互转#include<bits/stdc++.h>using namespace std;#define N 100005int n;long long sum[2][2],ans,dis,x[N],y[N],X[N],Y[N]...

2018-12-24 08:20:08 350

原创 [51nod] 1663 01游戏

https://www.51nod.com/Challenge/Problem.html#!#problemId=1663很显然,两个人的策略都是从前往后取,先手取1,后手取0影响答案的因素只有:0数量,1数量,?数量,最后一个0和1的位置,最后两个?的位置#include<bits/stdc++.h>using namespace std;char s[100005];...

2018-12-20 19:41:03 269

原创 gym 101981E 2018ICPC南京区域赛 Problem E. Eva and Euro coins

k个相同字符相邻是没有意义的,可以消去具体解释:k个1可以变成0k个0可以把其后方紧邻的1搬到前面贪心处理两个串,判断是否相等#include<stdio.h>#define N 1000005int stk[N][2],top,n,k;char a[N],b[N];inline void solve(char s[]){ stk[top=0][0]=-1;...

2018-12-03 19:35:49 660

原创 Codeforces 2C - Commentator problem

可以用数学方法做初试爬山#include<stdio.h>#include<cmath>const int fx[4]={1,-1,0,0},fy[4]={0,0,1,-1};inline double sqr(double x){return x*x;}const double eps=1e-6;double x[3],y[3],r[3],X,Y;in...

2018-12-02 09:49:07 283

原创 gym 101981H 2018ICPC南京区域赛 H Huge Discount

有趣的题目 thx to ZJU很容易注意到如果有一个数多于一半,那么只能剩它考虑其他情况,发现答案只可能是0和1那么就可以拿0开刀了,判断是否存在一个0使得序列可以只消剩0(包含这个0)这个判断可以转化为,这个0左右分别可以消成全0序列(1和2的个数不超过一半)做的时候从右向左扫,可以直接统计右侧的情况,左侧的情况开个线段树维护一下#include<bits/stdc++.h...

2018-11-22 15:03:56 890

原创 gym 101981K 2018ICPC南京区域赛 K Kangaroo Puzzle

训练的时候用的做法是选一个点追所有人但是cjb的这个做法实在是太过分了(雾随个50000的串就能过#include<bits/stdc++.h>using namespace std;int main(){ srand(time(0)); char t[]={'U','D','L','R'}; for (int i=0;i<50000;i++) putchar...

2018-11-22 14:54:52 681

原创 Codeforces Round 520 div2

开了场VP,头上充满buffA读错题,题意只找一段,wa一发找到最长的连续子串就好(补0和1001)#include<bits/stdc++.h>using namespace std;int n,ans,a[1005];int main(){ scanf("%d",&n); for (int i=1;i<=n;i++) scanf(&

2018-11-16 18:39:13 165

原创 Codeforces 1076E E. Vasya and a Tree

这是一个静态问题按DFS走,进入一个子树时把子树根上挂的修改激活,离开子树时撤销这样所有的修改和查询都是对于深度的QvQ:递归三参数栈爆炸了#include<bits/stdc++.h>using namespace std;#define M 524288#define N 300005typedef long long ll;int L,R,aim,n,m,to...

2018-11-15 11:35:17 370

原创 Codeforces 1076D Educational Codeforces Round 54 (Rated for Div. 2) D. Edge Deletion

考虑到每条边最多只能使一个点进入最短路图,所以答案就是构建一棵不超过k条边的最短路树注意不要搞出森林#include<bits/stdc++.h>using namespace std;#define N 300005typedef long long ll;int Q[N],tot,s[N],ans;bool vis[N],op[N];ll dis[N];str...

2018-11-15 08:27:45 175

原创 UVALive 8275 M - Annual Congress of MUD 2017中国台湾花莲区域赛

网络流很显然,问题是直接暴力搞边数会爆炸注意到本质不同的人(起终点不同)只有不到四百种,以此建点#include<stdio.h>#include<algorithm>#include<cstring>#define cint const int &#define inf 2333333#define N 505using namespa...

2018-11-14 22:12:50 407

原创 Gym 100151E 2011-2012 ACM-ICPC, NEERC, Southern Subregional Contest E. Berland Chess

如果可以记忆化搜索,切勿写剪枝爆搜#include<stdio.h>#include<cstring>#include<queue>#include<algorithm>using namespace std;#define For(i,a,b) for (int i=a;i<=b;++i)#define Void inline ...

2018-11-08 21:13:33 250

原创 Gym 100151C 2011-2012 ACM-ICPC, NEERC, Southern Subregional Contest C. Dice Tower

相对面总和为7,中间所有骰子被吃了一个相对面,最顶上和最底下任选一面被吃(对只有一个骰子不成立)n个骰子最大可以表示的值可以算出,相对的,可以算出要求值对应的n,再检查一下是否大于n最小可以表示的值#include<stdio.h>int main(){ freopen("input.txt","r",stdin); freopen("output.txt...

2018-11-08 21:11:56 274

原创 Gym - 100109L 2012-2013 ACM-ICPC, NEERC, Southern Subregional Contest L - Preparing Problem

先算出完成时间,再加上溢出时间#include<bits/stdc++.h>using namespace std;int main(){ freopen("input.txt","r",stdin); freopen("output.txt","w",stdout); int a,b,n,l,r; scanf("%d%d%d",&a

2018-11-05 09:21:40 224

原创 Gym - 100109F 2012-2013 ACM-ICPC, NEERC, Southern Subregional Contest F - Dumbbells

直接暴力限定每种质量物品个数然后求价值前k大的质量#include<bits/stdc++.h>using namespace std;#define N 4005#define mp(a,b) make_pair(a,b)#define fi first#define se secondpair<int,int> p[N];int n,k,id[N],...

2018-11-05 09:20:08 243

原创 Gym - 100886D 2015-2016 Petrozavodsk Winter Training Camp, Saratov SU Contest D - Catenary

题目中有一句很迷幻的话:这是对双曲余弦函数的离散模拟翻译成人话就是长成下图这样的图形就别考虑了,总体上还是和双曲余弦函数图像比较像的双曲余弦函数在这种情况下也可以叫悬链线,很容易可以查到相关资料(不过对于这题没啥帮助)根据题目的需求,把图形翻转一下得到向上垂的图形因为铰链连接的木棍,在连接点上力的方向不一定沿杆的方向,所以需要对力的方向进行分析下图黑色是木棍,红色是力的方向记从x轴...

2018-11-03 01:03:44 774

原创 Gym - 100886F 2015-2016 Petrozavodsk Winter Training Camp, Saratov SU Contest F - Empty Vessels

所有的操作都可以转化为向最大的杯子里倒一整杯的水(模意义下完全背包)#include<bits/stdc++.h>using namespace std;#define For(i,a,b) for (int i=a;i<=b;++i)int fm[20005],a[11],A,id,mod,n;queue<int> Q;void output(in...

2018-11-01 14:30:44 517

原创 Gym - 100886B 2015-2016 Petrozavodsk Winter Training Camp, Saratov SU Contest B - Game on Bipartite

题目有很强的结论,看代码应该可以知道结论是什么但是想了两天还是没有想到一个严格的证明大概思路:首先边的奇偶影响答案(走过去优就继续拓展,不优就走回来)转化为01问题考虑消元的过程中,对面的一个点会发生什么如果这个点可以成为主元,说明从这个点出发一定会有奇数长度的路径(即便是双方交替进行)↑感性认识一下感觉非常有道理,然而并不会证(sad然后基于这个结论就可以做了,把其他所有点的出边...

2018-10-31 19:29:33 479

原创 ACM/ICPC 2018亚洲区预选赛北京赛站网络赛 C - Cheat

棋牌室成员+1#include<bits/stdc++.h>using namespace std;#define For(i,a,b) for (int i=a;i<=b;i++)map<string,int> own[4];map<string,string> nxt;string tw[13]={"10","2","3",&quot

2018-10-31 00:55:16 207

原创 ACM/ICPC 2018亚洲区预选赛北京赛站网络赛 D - 80 Days

要求的点满足特定性质对a[i]-b[i]做前缀和s[i]满足从该点开始往后n个点的最小s不会比起点的s小超过c只需满足这个条件就付的起钱#include<bits/stdc++.h> using namespace std;#define For(i,a,b) for (int i=(a);i<=(b);i++)#define cint const int &amp...

2018-10-31 00:53:15 190

原创 Gym - 100886I 2015-2016 Petrozavodsk Winter Training Camp, Saratov SU Contest I - Archaeological Res

假如第i行有数j,说明i+1到j-1的数均与j不同那么从前往后依次确定每个数,结合上述限制贪心即可#include<bits/stdc++.h>using namespace std;#define M 524288#define N 300005int ans,aim,n,a[N],t[M<<1],vis[N];void find(int k,int l...

2018-10-29 09:32:48 356

原创 Gym 101669J SEERC 2017 Cunning Friends

手算了几个小数据猜结论冲了#include<bits/stdc++.h>inline void op(int x){ puts(x?"Win":"Lose"); exit(0);}int main(){ int n,a=0,b=0,c=0; scanf("%d",&n); for (int i=1,x;i<=n;i+...

2018-10-29 00:57:06 666

原创 [Gym] 101669G SEERC 2017 Robots

斜率越大的放越前面,贪心模拟一次#include<bits/stdc++.h>using namespace std;#define pow(a) ((a)*(a))int n;struct ver{ double a,t; void in(){scanf("%lf%lf",&a,&t);} #define cver c

2018-10-29 00:54:46 228

原创 [Gym] - 100886K 2015-2016 Petrozavodsk Winter Training Camp, Saratov SU Contest K - Toll Roads

差点因为读漏条件凉凉枚举free链的一个头,将其提根进行类dp的计算(提根后只需考虑向下的边)对于根到某个点的答案,可以依靠维护子树内最长链、一段为子树根的最长链、子树外最长链、子树外一端在free链上的最长链这四个信息得到。因为转移的需求不能只记最大,可能需要次大和第三大。情况比较多合并注意不要漏,以及边界问题小心初值不合适#include<bits/stdc++.h>u...

2018-10-29 00:50:01 549

原创 [UVALive] - 5817 Dhaka 2011 I - Truchet Tiling

每块砖可以拆成三个小块,建图处理每个块的总面积和每个小块的归属查询一个点的时候寻找一个最近的小块进行查询#include<bits/stdc++.h>using namespace std;#define N 115#define M 40000const double pi=acos(-1);char s[N][N];int n,m,S[M],tot;bool ...

2018-10-29 00:40:07 176

原创 [UVALive] - 5816 Dhaka 2011 H - Treasure Hunt

考虑到四个人的移动对于重心偏移的贡献相同,故沿重心偏移方向贪心走即可。#include<bits/stdc++.h>using namespace std;typedef long double Double;const Double eps=1e-25;inline Double sqr(Double x){return x*x;}inline double ip(){d...

2018-10-29 00:33:48 164

原创 Wannafly挑战赛8 ABCD

Wannafly挑战赛8

2018-02-13 00:54:08 295

原创 【CodeForces】426Div2 C The Meaningless Game

链接:http://codeforces.com/contest/834/problem/CSolution 考的时候想复杂了,没从整体下手。 因为一边乘了k一边乘了k^2,所以乘起来一定是k^3 记c=(a∗b)13c=(a*b)^\frac{1}{3},如果a、b mod c都是0,那么就能构造出满足条件的方案

2017-07-31 10:57:31 374

原创 【CodeForces】426Div2 B The Festive Evening

链接:http://codeforces.com/contest/834/problem/BSolution 暴力计算一下每个时刻有多少门开启就好 注意不要先关门再判断

2017-07-31 10:44:31 477 1

原创 【CodeForces】426Div2 A The Useless Toy

链接:http://codeforces.com/contest/834/problem/ASolution: 很简单的整除判断 因为太久没有写过代码怕出问题,写得非常累赘(暴力)

2017-07-31 10:37:28 335

原创 【Wannafly Daily】20170423 Product it again

https://cn.vjudge.net/contest/158362#problem/O考虑每个质因数的贡献 目测不用线性筛也能过

2017-05-02 17:22:55 386

原创 【Wannafly Daily】【XJTUOJ】12 好友推荐

http://oj.xjtuacm.com/problem/12/题解点这里

2017-05-02 16:35:11 498

原创 【Wannafly Daily】20170412 A 郭大侠与线上游戏

对前一半后一半分别维护一个set,操作时做相应调整即可

2017-05-02 16:30:00 270

原创 【Gym】101194J Mr.Panda and TubeMaster

看到题的第一想法:上下界最大费用循环流后来问了下同学,发现可以如下表示: 每个格子拆成入和出, 假如这个格子没有限制必须走,那么它就可以不参与匹配,也就是匹配自己即可 对图黑白染色以决定是竖进横出还是横进竖出 向相邻格子匹配权为壁的代价 然后就变成了二分图最大权匹配

2017-05-02 16:25:04 751

原创 【CodeForces】792D Paths in a Complete Binary Tree

考虑一下如何方便地表示树中的一个点,模拟即可

2017-05-02 16:15:57 335

原创 【GYM】101170H Hamiltonian Hypercube

格雷码普及题

2017-05-02 16:14:15 540

原创 【Wannafly Daily 4.22】World is Exploding

https://cn.vjudge.net/contest/158362#problem/M好老的题

2017-05-02 16:12:04 272

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除