自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(71)
  • 收藏
  • 关注

原创 The 2016 ACM-ICPC Asia Qingdao Regional Contest(假期刷题计划)

A(水题)#include<bits/stdc++.h>#define ll long longusing namespace std;const int N=1e5+10;const int mod=998244353;int main(){ int t; cin>>t; while(t--){ int n,sum=0; cin>>n; for(int i=1;i<=n;i++){ int a,b; cin>>a&gt

2021-01-23 16:44:32 246 2

原创 结构体内嵌比较函数bool operator < (const node &x) const {}

一般来说比较函数写在结构体内会比写在外部快struct node{ int l,r; bool operator <(const node &a)const{ return r < a.r; }}a[maxn];这种是最经典的。r相当于当前正在比较的值,这个函数就是r从小到大排。存储用优先队列时会相反,同是上面这个函数会按r从大到小排。来看下多个变量排序:struct node{ int l,r; bool

2021-01-23 14:15:04 12362 3

原创 2018-2019 ACM-ICPC, Asia Jiaozuo Regional Contest(假期刷题计划)

A(水题)题意:上面一堆废话,目标所有游客都可以根据每个人游览过的景点数量进行分类。#include<bits/stdc++.h>#define ll long longusing namespace std;const int N=1e4+10;const int mod=998244353;int a[N]; int main(){ int n; cin>>n; for(int i=1;i<=n;i++){ int num=0; for(int

2021-01-22 16:20:42 250

转载 构造矩阵的方法

转载https://www.cnblogs.com/frog112111/archive/2013/05/19/3087648.html矩阵构造方法Fibonacci数列:F(0)=1 , F(1)=1 , F(n)=F(n-1)+F(n-2)我们以前快速求Fibonacci数列第n项的方法是 构造常系数矩阵(一) Fibonacci数列f[n]=f[n-1]+f[n-2],f[1]=f[2]=1的第n项快速求法(不考虑高精度)解法:考虑1×2的矩阵【f[n-2],f[n-1]】。根据

2021-01-18 14:28:27 994

原创 Suffix Operations Codeforces Round #688 (Div. 2)B

http://codeforces.com/contest/1453/problem/B题意:通过对后缀数组的+1-1使数全部相等,开始前你可以直接修改一个数的值,问最小操作数思路:差分约束,先不考虑修改数。首先,获取相邻数的差我们设为Si(Si=a[i]-a[i-1],2<=i<=n),假设我们改的后缀数组从j(1<j<=n)开始,那么由于同时更改,j-n的数之间差不变,只改变了j-1和j的数的差,而最终状态我们要使所有的差归零,也就是说要的操作数就是所有差的绝对值之和。现

2020-12-04 23:20:59 255 3

原创 工具网站(找数组规律)

做题,做着发现了一个找规律网站。可以直接得到公式http://oeis.org/

2020-12-01 15:35:12 4673

原创 Educational Codeforces Round 99 (Rated for Div. 2)

B. Jumpshttp://codeforces.com/contest/1455/problem/B题意:到达目的地x,问最少要几步每一步可以-1或+k(k为第几步)思路:不考虑-1的走法,一直加直到大过x为止,然后看大多少,将前面走过的步数更改为-1 ,2~n+1(n为当前已走步数)这是改变的范围,除了1都可以在原基础上改。#include<bits/stdc++.h>#include<string.h>using namespace std;int mai

2020-12-01 14:37:19 88

原创 Sum of Medians(codeforce 684)

链接:http://codeforces.com/contest/1440/problem/B题意:给n*k个数,分为k组每组n个数,求中位数的最大值。思路:找到每组中位值所在的位置,前面用最小的数填充,剩下的位置按递增序列平均分k组,每组最前面的数就是中位数的最优解。#include<bits/stdc++.h>#define ll long longusing namespace std;int a;int main(){ int t; cin>>t; whi

2020-11-18 10:30:42 236

转载 codeforces 1285D Dr. Evil Underscores

Dr. Evil Underscorestime limit per test1 second转载于https://wangmeng.blog.csdn.net/article/details/103941454?utm_medium=distribute.pc_relevant.none-task-blog-OPENSEARCH-1.edu_weight&depth_1-utm_source=distribute.pc_relevant.none-task-blog-OPENSEARCH-1.

2020-11-14 19:22:16 140

原创 codeforces 1284C New Year and Permutation

Recall that the permutation is an array consisting of n distinct integers from 1 to n in arbitrary order. For example, [2,3,1,5,4] is a permutation, but [1,2,2] is not a permutation (2 appears twice in the array) and [1,3,4] is also not a permutation (n=3

2020-11-13 23:33:32 116

原创 (pta)小字辈

7-11 小字辈 (25分)本题给定一个庞大家族的家谱,要请你给出最小一辈的名单。输入格式:输入在第一行给出家族人口总数 N(不超过 100 000 的正整数) —— 简单起见,我们把家族成员从 1 到 N 编号。随后第二行给出 N 个编号,其中第 i 个编号对应第 i 位成员的父/母。家谱中辈分最高的老祖宗对应的父/母编号为 -1。一行中的数字间以空格分隔。输出格式:首先输出最小的辈分(老祖宗的辈分为 1,以下逐级递增)。然后在第二行按递增顺序输出辈分最小的成员的编号。编号间以一个空格分隔,行首

2020-11-09 18:56:02 302

原创 codeforces#680 C. Division

C. Divisiontime limit per test1 secondmemory limit per test512 megabytesinputstandard inputoutputstandard outputOleg’s favorite subjects are History and Math, and his favorite branch of mathematics is division.To improve his division skills, Oleg cam

2020-11-01 22:25:33 214 2

原创 起床困难综合症

链接:https://ac.nowcoder.com/acm/problem/17857来源:牛客网题目描述21 世纪,许多人得了一种奇怪的病:起床困难综合症,其临床表现为:起床难,起床后精神不佳。作为一名青春阳光好少年,atm 一直坚持与起床困难综合症作斗争。通过研究相关文献,他找到了该病的发病原因:在深邃的太平洋海底中,出现了一条名为 drd 的巨龙,它掌握着睡眠之精髓,能随意延长大家的睡眠时间。正是由于 drd 的活动,起床困难综合症愈演愈烈,以惊人的速度在世界上传播。为了彻底消灭这种病,atm

2020-10-26 18:44:59 757

原创 dousha的篮球时间

众所周知实验室的dousha(也就是dyx)学姐不仅打码强,篮球也打的猛(身体是革命的本钱啊)。某一天doush学姐又带着实验室里的大三学长们去打球了,dousha学姐连续投了n个球,被学长们用一个长度为n的01字符串s(只包含0或者1的字符串)记录了下来。s[i]=1代表dousha学姐的第i个投球进了,s[i]=0代表dousha学姐的第i个投球没进。现在dousha学姐想知道她在这n次投篮的过程中,有多少个连续进球的时期,直观得说就是这个01字符串中有几个连续的由1组成的区间(111算1个区间而

2020-10-25 11:53:22 277

原创 每日咕咚

链接:https://ac.nowcoder.com/acm/contest/7872/B来源:牛客网题目描述为了让每天的锻炼任务变得更加有趣,农农和林林给ZAFU的学生们制定了一个 有趣的跑步规则,内容如下:1、假定现在有N个学生在操场跑步2、在一开始的时候,N个学生需要排成一列,前后间距为 X,那么队列总长为 (N-1)* X 3、处于队尾的学生会加速追赶前面的学生,在这个过程中其余学生保持平均速度 V 不变,(队尾的同学超过所有同学后,比第二名同学领先X的间距时才视为完

2020-10-25 11:44:58 165

原创 A - Adrien and Austin(南京2018icpc)

这题的读题出了问题,以为是布什博弈。看了很久,最后发现是取连续的石子堆。思路k大于1的情况,先手可取奇也可取偶,能将石子堆分成数量相等的两堆。然后和对面进行镜像操作,他取多少,我取多少,必胜。k=1时,为奇数时必胜,反正则输。代码#include<stdio.h>#include<iostream>using namespace std;int main(){ int n,k; cin>>n>>k; if(n==0||(n%2==0&a.

2020-10-22 21:03:48 132

原创 What day is that day?(打表)

It’s Saturday today, what day is it after 1^1 + 2 ^2 + 3 ^ 3 + … + N ^ N days?InputThere are multiple test cases. The first line of input contains an integer T indicating the number of test cases. For each test case:There is only one line containing one

2020-09-01 14:43:26 253

原创 随笔5 威佐夫博弈和贝亚蒂定理 结论记录

博弈论之威佐夫博弈威佐夫博弈(Wythoff game):有两堆各若干个物品,两个人轮流从任一堆取至少一个或同时从两堆中取同样多的物品,规定每次至少取一个,多者不限,最后取光者得胜。结论:如果两个人都采用正确操作,那么面对非奇异局势,先拿者必胜;反之,则后拿者取胜。那么任给一个局势(a,b),怎样判断它是不是奇异局势呢?我们有如下公式:a(k) = [k*(1+√5)/2],b(k) = a(k) + k (其中k=0,1,2…n表示下标 ,[ ]括号框住部分表示取整)对于给出的局势(a,b)

2020-08-19 10:13:37 282

转载 hash学习三个好朋友

前言自己打的hash有点乱还总出错,以这道题为例,转了个模板(用了ull,省的取模)。https://blog.csdn.net/sdz20172133/article/details/99182258?utm_medium=distribute.pc_relevant.none-task-blog-utm_term-1&spm=1001.2101.3001.4242题目描述有三个 好朋友在一起玩游戏,A君一个字符串S,B君将其复制一遍得到T,C君在T的任意位置(包括首尾)插入一个字符得到字

2020-08-17 15:50:48 146

转载 清题笔记hdu多校8 1009 Isomorphic Strings

思路把长度为n的字符串分解成多个同构循环子串,这题是直接暴力求n的因子个数,每个因子看可不可分解,用哈希值存储第一个子串的同构循环子串,进行比较。这题主要是同构循环子串是怎么设定哈希值的比较烦,直接记下模版吧。题解代码来源#include<bits/stdc++.h>#define ll long longusing namespace std;using namespace std;const int mod=1e7+7;const int base=1331;const

2020-08-14 11:14:52 144

原创 hdu2020 多校7 Clockwise or Counterclockwise

Problem DescriptionIt is preferrable to read the pdf statment.After some basic geometric lessons, Cuber QQ has learned that one can draw one and only one circle across three given distinct points, on a 2D plane. Specialized in art, Cuber QQ has shown rem

2020-08-14 09:47:23 214

原创 清题笔记hdu 2020 多校7 Jogging

JoggingProblem DescriptionNotice:Don’t output extra spaces at the end of one line.Dodo bird is jogging on an infinite 2-d plane, starting from (x0,y0). For a point(x,y), it is regarded as good if and only if gcd(x,y)>1.Dodo bird will walk infinite s

2020-08-12 14:42:24 252

原创 清题笔记 2020 多校7 1007 hdu 6850 game

思路:当时一直都是正着想的,卡了好久。题解是逆向思维,有人第一次走到当前最长边的端点时,这个人会输。然后删去最长边,找次长边,谁第一次走到当前次长边的端点就会输,同理类推。最后如果只剩起点没选,无论duoduo怎么选都会选到最长边的端点,会输;如果中间选到了起点,多多就可以选最长边另一个端点获胜。代码:#include<bits/stdc++.h>#include<string>using namespace std;typedef long long ll;cons

2020-08-12 10:58:05 264

原创 网络流学习3 Poj#101最大流

题目描述https://loj.ac/problem/101这题要用当前弧优化,dinic会卡时间#include<bits/stdc++.h>#include<string>using namespace std;typedef long long ll;const int mod=998244353;const int inf=0x3f3f3f3f;const int N=1e4+10;struct data { int v;int

2020-08-11 11:12:51 110

原创 网络流学习2 最大网络流

题目描述在日常生活中有大量的网络,如电网、水管网、交通运输网、通信网及生产管理网等,网络流正是从这些实际问题中提炼出来的,目的是求网络最大流。输入第一行是一个整型数C(C<100)表示共有C组测试数据。每组测试数据第一行输入结点个数n和边数m(1<=n<=50,1<=m<=2500)。接下来m行,输入结点u,v及边(u–v)的容量w(1<=u,v<=50,1<=w<=100)。输出对于每一组输入,输出网络的最大流值。每组的输出占一行。样

2020-08-11 11:10:03 176

原创 网络流学习1 精明的老板

精明的老板题目描述我们经常会听到一句话:“男女搭配,干活不累。”精明的老板经过观察发现,两个男女推销员搭配工作,业务量明显高于其他人。然而并不是任何两个男女推销员都可以合作默契的,如果有的男女推销员本身有矛盾,就无法一起工作。老板了解每个员工的配合情况后,可以设计一个算法找出最佳的推销员配对方案,使每天派出的推销员最多,从而获得最大的效益。输入第一行是一个整型数C(C<100)表示共有C组测试数据。每组测试数据第一行输入女推销员人数m和男推销员人数n(1<=m,n<=100)。

2020-08-11 11:08:18 241

原创 7314 排座位

7314 排座位题目链接:http://acm.ocrosoft.com/problem.php?cid=2241&pid=2题目描述为了迎接“五一”国际劳动节,笑笑所在学校决定举行庆祝活动,活动在报告厅举行,每位学生都分到了1个座位号,而报告厅的座位是按座位号蛇形排列的,学生必须对号入座。如下图是报告厅4行*5列的座位排列情况。现在存在的一个问题是,如何让学生根据自己的座位号很快的知道自己所坐的位置(也就是座位号所在的行、列)。输入第一行:包括两个数,r和c(1<=r,c&l

2020-08-10 14:25:30 802

原创 7505 最小数

7505 最小数7505 最小数题目链接:http://acm.ocrosoft.com/problem.php?cid=2286&pid=4题目描述给定一个正整数n,请去掉其中的m个数字,使其剩下的数字按原先从左到右的相对次序组成一个新数,但该新数的值必须尽可能的小。输入只有一行,共2个整数,分别是n和m的值,中间用一个空格分隔。输出只有一行,该行只有一个整数,它是从n中去掉m个数字后所能得到的最小新数(注:如果新数的最高位是零,输出时请去掉这些零)。样例输入456547 3

2020-08-10 14:19:05 390

原创 7506 等式

7506 等式题目链接:http://acm.ocrosoft.com/problem.php?cid=2286&pid=5题目描述有一个未完成的等式:1 2 3 4 5 6 7 8 9=N当给出整数N的具体值后,请你在2,3,4,5,6,7,8,9这8个数字的每一个前面,或插入一个运算符号“+”号,或插入一个运算符号“-”号,或不插入任何运算符号,使等式成立,并统计出能使等式成立的算式总数,若无解,则输出0。例如:取N为108时,共能写出15个不同的等式,以下就是其中的

2020-08-10 14:17:31 184

原创 7507 旅行

7507 旅行题目链接:http://acm.ocrosoft.com/problem.php?cid=2286&pid=6题目描述某趟列车的最大载客容量为V人,沿途共有n个停靠站,其中始发站为第1站,终点站为第n站。在第1站至第n-1站之间,共有m个团队申请购票搭乘,若规定:(1)对于某个团队的购票申请,要么全部满足,要么全部拒绝,即不允许只满足部分。(2)每个乘客的搭乘费用为其所乘站数。问:应如何选择这些购票申请,能使该趟列车获得最大的搭乘费用?其中,每个团队的购票申请格式是以空格分隔

2020-08-10 14:16:16 107

原创 7508 密码

7508 密码题目链接:http://acm.ocrosoft.com/problem.php?cid=2286&pid=7题目描述在浩浩茫茫的苍穹深处,住着玉帝和他的神仆们,他们闲谈着下界的凡人俗事,对人世间表现的聪明智慧,大加赞赏。今天他们正在观赏大地风光人情之际,忽然从遥远的东海之滨传来一阵欢笑声,玉帝纵目望去,只见镇海中学内聚集了全宁波的中小学精英学生,他们要干什么呢?原来他们都在做一种破译密码的游戏,人们发现:一根密码棒上的数字加上另一根密码棒上的数字,就是开启天庭司粮库密码锁的的

2020-08-10 14:14:20 317

原创 随笔3 矩阵树学习(看到了篇不错的博客,插个眼先)

博客园的博客,不然直接收藏就行了。链接

2020-08-08 14:06:53 112

原创 清题笔记hdu 2020多校6 A Very Easy Graph Problem

清题所用题解:https://blog.csdn.net/qq_43906000/article/details/107870347An undirected connected graph has n nodes and m edges, The i-th edge’s length is 2i. Each node i has a value ai, which is either 0 or 1. You need to calculate:∑ni=1∑nj=1d(i,j)×[ai=1∧aj=0]

2020-08-08 10:42:31 173

原创 清题笔记 多校6 Fragrant numbers

没想到这题直接爆搜就能过,看了大佬的题解又新学了两个函数stoi(转换成10进制),substr(复制子串)。原文链接:用dp[l][r]记录l到r之间可以产生的数。代码:#include<bits/stdc++.h>#include<string>using namespace std;typedef long long ll;const int mod=1e9+7;const int N=2e5+10;string s=" 114514191911451419

2020-08-07 14:44:00 171

原创 substr函数

substr复制子字符串;要求从指定位置开始,并具有指定的长度a=s.substr(i,len);

2020-08-07 14:06:44 170

原创 stoi函数

头文件: #include < string >stoi(字符串,起始位置,n进制),将 n 进制的字符串转化为十进制

2020-08-07 14:02:04 1014

转载 2020 hdu Road To The 3rd Building

思路:方案数是选一颗树到选n棵树(n+1)*n/2,每个方案是所有选法的长度和看到一个大佬的思路,原来每一段的长度和还能这么算:k∗sum(1+…n)−前缀和的前缀−后缀和的后缀 原文链接(如选一颗,长度和就是都选一遍;选两颗,长度和就是除了第1棵和最后1棵选一遍,其余都选两遍)代码:#include<bits/stdc++.h>using namespace std;typedef long long ll;const int mod=1e9+7;const in

2020-08-07 10:36:41 139

原创 hdu 2020多校6Little Rabbit‘s Equation

思路:没什么好说的,直接暴力遍历2到16进制看看有没有满足的就行。代码:#include<bits/stdc++.h>#define ll long longusing namespace std;const int N=1e6+10;const int inf=0x3f3f3f3f;const int mod=998244353;inline int rd(){ register int s=0,w=1; register char ch=getchar()

2020-08-07 09:42:26 138

原创 hdu2020 多校6 Divisibility

思路:记得和之前百度之星的一道题有点像。拿十进制为例,假设三位数 100a+10b+c可以转化成99a+9b+(a+b+c),很容易可以看出当(a+b+c)是3的倍数能被3整除时,99a+9b+(a+b+c)也就能被3整除,其它位数也都满足该情况。当(a+b+c)是9的倍数时,99a+9b+(a+b+c)也能被9整除,另外1也满足这个条件,所以进制p为10时有三个数1,3,9满足。现在一般化,当进制p,假设三位数ppa+pb+c可以转化成(pp-1)*a+(p-1)*b+(a+b+c),当(

2020-08-07 09:39:15 143

原创 hdu 2020 round5 set1清题(过是过了,有没有大佬解释下数学公式是怎么推的)

题解如图:说一说清题感想吧,第一部分从(n-i)之中取(i-1)再配对C(n-i,i-1)* (n-i)!,理解了。之后的剩余两两删除是怎么计算的,有没有数学好的教我一手。总之是按公式把代码敲出来了,之后发现代码还不对,正版题解在算方案数时比起图中的公式还额外除了个(2 * i-n-1)/2!.把我搞蒙了。代码#include<bits/stdc++.h>#define ll long longusing namespace std;const int N=5e6+10;cons

2020-08-05 15:21:28 115

空空如也

空空如也

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

TA关注的人

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