自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

nike0good |Oier&ACMer | 熟能生巧

有所作为是生活中的最高境界。

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

原创 Tokio Marine & Nichido Fire Insurance Programming Contest 2021(AtCoder Regular Contest 122) 题解

A Many Formulae#include<bits/stdc++.h> using namespace std;#define For(i,n) for(int i=1;i<=n;i++)#define Fork(i,k,n) for(int i=k;i<=n;i++)#define ForkD(i,k,n) for(int i=n;i>=k;i--)#define Rep(i,n) for(int i=0;i<n;i++)#define ForD(i

2021-06-12 23:14:57 32

原创 Yandex Cup 2020(Catherine the developer works from home-给n个整点问能构成几个至少有一对平行边的四边形)

给n个整点问能构成几个至少有一对平行边的四边形n≤1000n\le 1000n≤1000通过枚举2个平行的边来数至少有一对平行边的四边形,由于平行四边形会被计算2遍需要去重#include<bits/stdc++.h> using namespace std;#define For(i,n) for(int i=1;i<=n;i++)#define Fork(i,k,n) for(int i=k;i<=n;i++)#define ForkD(i,k,n) for(int

2020-11-15 10:51:33 88

原创 Kick Start Round F 2020(Yeetzhee-划分数)

ProblemPommel is very bored at home so she has invented a new game involving N dice. Each die has the numbers from 1 to M written on it. Whenever she throws a die, it has an equal probability of landing on each of the M possible values.Pommel places all

2020-09-30 12:32:10 128

原创 2020 年百度之星·程序设计大赛 - 复赛(Battle for Wosneth2-概率)

Problem Description你在打游戏的时候碰到了如下问题:​ 有两个人记作Alice和Bob,生命值分别是n,m,命中率分别为p%,q%。两个人轮流攻击对方,从Alice开始攻击,每次攻击的时候,如果命中,那么能让对方的生命值减低1,直到一方的生命值不超过0为止。求到最后Alice的生命值大于0的概率,对998244353取模。对于一个分数a/b,其中gcd(a,b)=1,那么我们认为这个分数对998244353取模的值为一个数c(0≤c<998244353)满足bc≡a(mod

2020-08-11 07:24:17 343 3

原创 Codejam Round 3 2020(Naming Compromise-DP)

ProblemCameron and Jamie are about to welcome a second baby into their lives. They are already good at working together as parents, but right now they are disagreeing about one crucial thing! Cameron wants to name the baby one name (the string C), whereas

2020-06-07 17:17:10 182

原创 2050 Programming Competition 题解

1001 开场白来自世界各地的年青人在 https://2050.org.cn 握手团聚, 他们是航空航天的新生代,编程大赛的优胜者,35岁以下的创新者,科技公司的创始人,展望未来的科学家,天马行空的艺术家… TA们期待在这里与所有人分享交流,给彼此灵感,给未来答案。我们想要用10个题目,大声喊出年青人的声音。我们希望和大家一起用技术创造一个更好的2050。第一道题目,我们来玩一个数字游戏。...

2019-04-18 11:53:38 474

原创 CCPC-Wannafly Winter Camp Day7

A.迷宫有一个 nnn 个点 n−1n-1n−1 条边的无向连通图迷宫,其中有些点上面有人.现在所有人的目标都是逃离这个迷宫,而迷宫的出口是 1 号点,每一时刻,会依次发生以下的事情:1.在点 x 上的人选择一个点 f(x)f(x)f(x) 作为目标,要求 f(x)f(x)f(x) 必须是 xxx,或者与 xxx 有边相连的点,且对于 x≠yx\neq yx̸​=y,有 f(x)≠f(y)f...

2019-01-27 13:24:29 535 1

原创 CCPC-Wannafly Winter Camp Day2 (Div1, onsite)(Power of Function-数位)

f(n,k)=k进制下n的数位和+位数-2分别考虑几种情况并check#include&lt;bits/stdc++.h&gt; using namespace std;#define For(i,n) for(int i=1;i&lt;=n;i++)#define Fork(i,k,n) for(int i=k;i&lt;=n;i++)#define ForkD(i,k,n) fo...

2019-01-25 17:21:13 185

原创 CCPC-Wannafly Winter Camp Day5 (Div1, onsite)(Nested Tree-虚树)

你有一棵n个点树T,然后你把它复制了m遍,然后在这m棵树之间又加了m−1条边,变成了一棵新的有nm个点的树T_2。求T_2中所有点对的距离和,由于答案很大,对10^9+7取模。1≤n≤1051\le n \le 10^51≤n≤105dp 套 dp预处理dpsum[x]dpsum[x]dpsum[x],表示所有1棵n个点的树中,所有点到点xxx的距离和。在m个点连成的新树中,每个拷贝和父拷...

2019-01-25 11:47:18 369

原创 CF 1097F(Alex and a TV Show-bitset+反演)

The rules of this TV show are as follows: there are n multisets numbered from 1 to n. Each of them is initially empty. Then, q events happen; each of them is in one of the four possible types:1 x v —...

2019-01-09 12:45:21 166

原创 字节跳动冬令营网络赛(B.Origami-折纸)

链接:https://ac.nowcoder.com/acm/contest/296/B来源:牛客网Chiaki has a very big sheet of paper. This sheet has a form of rectangle with dimensions 1 x n and numbers from 1 to n was written on each small 1 x...

2018-12-02 16:04:57 451

原创 2018“百度之星”程序设计大赛 - 复赛

A 没有兄弟的舞会直接按父亲分类,计算最大次大值#include&amp;amp;amp;lt;cstdio&amp;amp;amp;gt;#include&amp;amp;amp;lt;cstring&amp;amp;amp;gt;#include&amp;amp;amp;lt;cstdlib&amp;amp;amp;gt;#include&amp;amp;amp;lt;algorithm&amp;amp;amp;gt;#

2018-08-19 12:43:49 405

原创 美团CodeM编程大赛复赛(空间隧道-矩形面积并)

给1棵树,编号1~n,还有m条路径,现在问存在多少点对u,vu,vu,v,满足uuu到vvv的必经之路上,不会经过这m条路径中的任何一条。 n,m&amp;lt;=1e5n,m&amp;lt;=1e5n,m(u,v)(u,v)(u,v), 如果x,y不是祖先关系,则禁止的区域为:从x的子树到y的子树。 如果是祖先关系,假设x的深度小,且往y方向下面一个点是z, 那么禁止的区域为:一个点在y的子树...

2018-07-16 14:13:15 215

原创 TCO Beijing 热身(Tian Ji's Horse Racing)

链接:https://www.nowcoder.com/acm/contest/126/A 来源:牛客网齐国的大将田忌很喜欢赛马,有一回他被齐威王请来赛 k 天马。经过精心的准备,现在田忌有 n 匹速度分别为 a1, a2, …, an 的马,齐威王则有 n 匹速度分别为 b1, b2, …, bn 的马。每天要进行 n 场比赛,每场比赛田忌和齐威王分别会派出一匹马,每匹马每天只能上场一次,...

2018-05-26 14:28:15 442

原创 2018 计蒜之道 初赛 第一场 题解

A. 百度无人车签到#include&lt;bits/stdc++.h&gt; using namespace std;#define For(i,n) for(int i=1;i&lt;=n;i++)#define Fork(i,k,n) for(int i=k;i&lt;=n;i++)#define ForkD(i,k,n) for(int i=n;i&gt;=k;i--)...

2018-05-12 22:34:33 326

原创 JSOI2018(战争-Minkowski sum)

给你2个点集,分别对这2个点集求凸包A,B,每次询问问凸包B平移向量(dx.dy)(dx.dy)后是否与凸包A有公共点。点集大小n,m,询问次数q的范围为1e5b⃗ +(dx,dy)=a⃗ \vec{b}+(dx,dy)=\vec{a} (dx,dy)=a⃗ −b⃗ (dx,dy)=\vec{a}-\vec{b} 因此合法的(dx,dy)(dx,dy)范围为:A和-B的Minkowski

2018-05-09 19:08:40 1532

原创 SenseTime Ace Coder Challenge 暨 商汤在线编程挑战赛*(抽球游戏-fwt开立方)

Anthony 手中有 nnn 个依次标着整数 a1a1a_1, a2a2a_2, ⋯⋯\cdots, anana_n (0≤a1≤a2≤⋯≤an≤630≤a1≤a2≤⋯≤an≤630 \leq a_1 \leq a_2 \leq \cdots \leq a_n \leq 63) 的球,现在 Ben 会等概率随机抽出一个球,记录球上的数字并放回,重复该过程三次,最终三次记录下的数字的异或和就是 B...

2018-04-17 16:09:45 235

原创 危险路径(启发式合并+mst)

给定一个 n 个点 m 条边的连通无向图,其中点从 1 到 n 标号,而每条边有一个危险值。 对于任意一条路径,定义路径上危险值的最大值为这条路径的危险值。对于任意不同的两点 u 和 v,定义 d(u, v) 为所有从 u 到 v 的路径的危险值最小值。 fu=∑u!=vd(u,v)f_u=\sum_{u!=v}d(u,v) 求⊕i=1n(i⋅f(i)) \mathop{\oplus}\lim

2018-04-14 23:29:05 505

原创 Arrays(问题转化)

题意:给一个长度为n的序列,将一个非空子区间排序可以得到新序列,问这个序列能得到多少不同序列?求出有多少子区间,左端值不是最小值,右端值不是最大值 容易发现答案=满足条件子区间个数+1先用倍增/单调队列 求出对于每个左端点i,右边第一个<ai<a_i的位置lpilp_i,同理处理右端点rpirp_i 然后用树状数组离线统计#include<bits/stdc++.h> using namesp

2018-04-14 23:24:37 134

原创 是男人就过 8 题--Pony.AI 题(A String Game-SAM建图+sg)

给一个字符串t和t的n个子串,2人轮流操作, 每次选一个子串,在后面添加一个字符,放回去,要求添加后字符串仍是t的子串。 无法操作者输,问谁赢。SAM建图+sg#include<cstdio>#include<cstring>#include<cstdlib>#include<algorithm>#include<functional>#include<iostream>#inclu

2018-03-28 22:53:30 1124

原创 BZOJ 5128([Lydsy12月赛]寻找母串-区间dp)

题意:对于一个母串 S,令 T = S,你可以做无限次以下操作:选择 T 中一个位置 (可以是最开头也可以是最末端),往中间插入母串 S,并将新得到的字符串覆盖之前的 T。 比如,假设 S =hello,则你可以如下操作 T: 1. T =hello。 2. T =hhelloello。 3. T =hhelloelhellolo。 4. T =hhehellolloelhellolo。

2018-01-09 11:06:30 590 1

原创 BZOJ 5130([Lydsy12月赛]字符串的周期-最小表示法+kmp)

题意:一个串 T 是 S 的周期,当且仅当存在正整数 k,使得 S 是 T 重复 k 次的前缀,比如 abcd 是 abcdabcdab 的周期。 给定一个长度为 n 的字符串 S,请对于每个 i(1 ≤ i ≤ n),求出 S 长度为 i 的前缀的最短周期的长度 peri,并计算 f(S)=Πni=1perif(S) =\Pi_{i=1}^n per_i 如果这个串是从所有长度为 n,字符集为

2018-01-06 12:43:17 430

原创 BZOJ 5123([Lydsy12月赛]线段树的匹配-记忆化搜索)

题意:给定一棵表示 [1, n] 的线段树,请求出它的最大匹配中有多少条边,并求出有多少种最大匹配的方案。显然线段树形态由长度唯一确定,因此可以用(长度,根节点是否和子树的节点匹配)作为状态进行记忆化搜索#include<bits/stdc++.h> using namespace std;#define For(i,n) for(int i=1;i<=n;i++)#define Fork(i

2018-01-04 22:06:00 282

原创 BZOJ 4151([AMPPZ2014]The Cave-树,贪心)

题意:给一棵n个节点的树和m条限制,每条限制形如dis(x,ai)+dis(x,bi)≤didis(x,a_i)+dis(x,b_i)\le d_i,其中dis(a,b)dis(a,b)表示a到b经过的边的个数。问图中是否存在x满足所有限制,有的话输出任意一个合法解,否则输出无解。设x为根。 依次遍历每条限制,如果ai,bia_i,b_i 均在x的子树中且限制不成立,那么x向这2个点的lca到x的

2018-01-04 14:59:22 468

原创 BZOJ 5101([POI2018]Powód-kruskal+dp)

题意:在地面上有一个水箱,它的俯视图被划分成了n行m列个方格,相邻两个方格之间有一堵厚度可以忽略不计的墙,水箱与外界之间有一堵高度无穷大的墙,因此水不可能漏到外面。已知水箱内每个格子的高度都是[0,H]之间的整数,请统计有多少可能的水位情况。因为答案可能很大,请对10^9+7取模输出。两个情况不同当且仅当存在至少一个方格的水位在两个情况中不同。 Input 第一行包含三个正整数n,m,H(n*m

2017-12-31 12:10:50 273

原创 BZOJ 5100([POI2018]Plan metra-构造法)

有一棵n个点的无根树,每条边有一个正整数权值,表示长度,定义两点距离为在树上的最短路径的长度。 已知2到n-1每个点在树上与1和n的距离,请根据这些信息还原出这棵树。 (2<=n<=500000),1<=d<=1000000解法:考虑1-n这条路径,如果上面没有其它点,说明都在一侧,特判。 否则上面至少有1个点,可以先求出1-n的距离=mini(d1,i+di,n)min_i(d_{1,i}+

2017-12-27 01:30:15 236

原创 CCPC FINAL 2017(Inkopolis-基环外向树)

直接对每种颜色建图,维护连通块个数。显然只要保证第i个点在第j个颜色下的度数。 原图是基环外向树,需要额外考虑那条边上的颜色是否全都一样。#include<bits/stdc++.h> using namespace std;#define For(i,n) for(int i=1;i<=n;i++)#define Fork(i,k,n) for(int i=k;i<=n;i++)#def

2017-12-14 13:29:07 485

原创 CCPC Final 2017(Fair Lottery-单纯形)

就是一个简单的单纯形。 注意转成对偶会跑得快一点。#include<bits/stdc++.h> using namespace std;#define For(i,n) for(int i=1;i<=n;i++)#define Fork(i,k,n) for(int i=k;i<=n;i++)#define ForkD(i,k,n) for(int i=n;i>=k;i--)#defi

2017-12-14 13:24:29 695

原创 BZOJ 3112([Zjoi2013]防守战线-单纯形)

战线可以看作一个长度为n 的序列,现在需要在这个序列上建塔来防守敌兵,在序列第i 号位置上建一座塔有Ci 的花费,且一个位置可以建任意多的塔,费用累加计算。有m 个区间[L1, R1], [L2, R2], …, [Lm, Rm],在第i 个区间的范围内要建至少Di 座塔。求最少花费。简单的模板题#include<bits/stdc++.h> using namespace std;#defin

2017-12-14 02:44:04 331

原创 NWERC 2017(English Restaurant-期望)

Random groups of sizes between 1 and g people arrive at the restaurant. Each group occupies the smallest table that fits the group, or leaves if there is no such table. Find the average occupa

2017-12-13 17:30:00 627

原创 NWERC 2017(Connect the Dots-几何+搜索)

题意:4*4个格点,要求一笔从小到大依次经过这16个点。求使用的最小线段数。暴搜。 考虑任意一条线段一定满足1.斜率为2个不超过20的整数的比值;2.至少经过1个点。 搜索状态为(当前画到了第几个点,斜率方向) 转移为: 在这个点转一下方向, 直接画到下一个点。 画到下一个点,中间转一次方向。#include<bits/stdc++.h>using namespace std;#de

2017-12-13 16:28:12 490

原创 Codeforces Round #450 (Div. 2) 题解

A#include<bits/stdc++.h> using namespace std;#define For(i,n) for(int i=1;i<=n;i++)#define Fork(i,k,n) for(int i=k;i<=n;i++)#define ForkD(i,k,n) for(int i=n;i>=k;i--)#define Rep(i,n) for(int i=0;i

2017-12-12 17:51:43 259

原创 BZOJ 5099([POI2018]Pionek-极角排序)

题意:有n个向量,每个向量可以选择取或者不取,要求选一些向量,使得它们和最大。#include<bits/stdc++.h> using namespace std;#define For(i,n) for(int i=1;i<=n;i++)#define Fork(i,k,n) for(int i=k;i<=n;i++)#define ForkD(i,k,n) for(int i=n;i>

2017-12-11 15:40:24 458

原创 CF 462D(Appleman and Tree-树形dp)

题意:一棵n个节点的树(根为0),树上有一些点是黑色的,你希望删除一个边的集合,使每个剩下的联通块都恰好只有1个黑节点。求方案数。dp[x][0]dp[x][0]表示对于节点i的子树的一个划分,x所在的联通块无黑节点 dp[x][1]dp[x][1]表示对于节点i的子树的一个划分,x所在的联通块有黑节点然后转移,考虑x的每个子树是否与x在同一连通块、#include<bits/stdc++.h>

2017-12-10 04:10:34 239

原创 BZOJ 5085(最大-经典题)

Description给你一个n×m的矩形,要你找一个子矩形,价值为左上角左下角右上角右下角这四个数的最小值,要你最大化矩形(这个矩形的行数和列数都大于1) 的价值。Input第一行两个数n,m,接下来n行每行m个数,用来描述矩形 n, m ≤ 1000Output输出一个数表示答案 Sample Input2 21 23 4 Sample Output1从大到小枚举数, 显然答案的4个点

2017-12-06 12:17:55 339

原创 BZOJ 4289(PA2012 Tax-最短路)

给出一个N个点M条边的无向图,经过一个点的代价是进入和离开这个点的两条边的边权的较大值,求从起点1到点N的最小代价。起点的代价是离开起点的边的边权,终点的代价是进入终点的边的边权 N<=100000 M<=200000经典做法:把无向边拆成2条有向边(u,v,w)(u,v,w),边变点建图,(u,v,w1)(u,v,w_1)向(v,l,w2)(v,l,w_2)连max(w1,w2)max(w_1

2017-12-05 13:00:22 252

原创 Wannafly挑战赛4 (方程的解-二次剩余)

题目描述 对于一个模意义下的一元二次方程:x^2 + ax + b = 0 (mod p),其中 p 是质数。 每次给定一组 a,b,p,问这个方程有没有整数解,有解输出“Yes”,无解输出“No”。 有 T 组询问。 输入描述: 输入第一行一个正整数T(T≤105T\le10^5 ),表示数据组数。 接下来T行每行三个非负整数a,b,p(0≤a,b<p≤109+70\le a,b\lt

2017-12-02 19:42:39 369

原创 EC Final 2015(Suffixes and Palindromes-差分约束)

http://blog.csdn.net/skywalkert/article/details/51731556#include<bits/stdc++.h> using namespace std;#define For(i,n) for(int i=1;i<=n;i++)#define Fork(i,k,n) for(int i=k;i<=n;i++)#define ForkD(i,k,

2017-11-29 17:15:46 387

原创 CF 894E(Ralph and Mushrooms-Tarjen)

在一个n*m的白板上有若干8联通联通块,每块必须是字母(H,M,Y) 中的一个,统计白板上各字母出现次数。注意各字母字体相同.记录特征值。#include<bits/stdc++.h> using namespace std;#define For(i,n) for(int i=1;i<=n;i++)#define Fork(i,k,n) for(int i=k;i<=n;i++)#def

2017-11-29 17:09:50 258

原创 2017 ACM Jordanian Collegiate Programming Contest I(Counting Votes-特征值)

在一个n*m的白板上有若干8联通联通块,每块必须是字母(H,M,Y) 中的一个,统计白板上各字母出现次数。注意各字母字体相同.记录特征值。#include<bits/stdc++.h> using namespace std;#define For(i,n) for(int i=1;i<=n;i++)#define Fork(i,k,n) for(int i=k;i<=n;i++)#def

2017-11-16 20:04:50 534

空空如也

空空如也

空空如也

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

TA关注的人 TA的粉丝

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