自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

shadandeajian的博客

长沙理工大学_CS专业_大二在校学生

  • 博客(102)
  • 资源 (3)
  • 收藏
  • 关注

原创 Codeforces 100518B DP

传送门:题目题意:题意很难懂,而且问了四个问题。 先说一下背景,根据Braess的悖论,人们在去往某一条道路时总会选择耗费时间最少的道路(人们是很机智的),现在有n+1个城市,两边的城市是起点和终点,有且只有两条道路,每一条道路的的每一段都有一个权值,k代表压力指数,如果人们都选择这条道路,而不选择另一条道路,那么这条道路的压力指数k为1,否则为0,除了两边的起点和终点,中间的n-1座城...

2018-08-30 20:46:48 168

原创 Codeforces 770C 拓扑排序 DFS

传送门:题目题意:一个人要完成几门课程,但是有的课程有基础课程,要完成基础课程才行,问完成所有课程需要至少完成几门课程,并按照时间先后输出。题解:题目一看就是拓扑排序,随便一搞就行了。AC代码:#include <iostream>#include <cstring>#include <cstdio>#include <a...

2018-08-29 00:26:25 394

原创 Codeforces 769C BFS 贪心

传送门:题目题意:一个人在迷宫里,点为可走,星为不可走,要求这个人走k步,恰好回到初始位置,并且保证路径的字典序最小。题解:如果没有字典序最小这个限制条件,我们大可以不必BFS,直接找到一个可行方块,来回来回走即可,但是题目要求字典序最小,所以我们只能先尝试字典序最小的D,也就是往下走,如果不行,在往L走,然后是RU。这里BFS一遍就好。但是怎么保证它能恰好回到起始点呢?我...

2018-08-28 21:06:26 283

原创 Codeforces 768A 暴力

123

2018-08-28 14:59:48 202

原创 Codeforces 768B 暴力 DFS

传送门:题目题意:给一个根节点n,每次往下分3个结点,左中右分别是n/2,n%2,n/2n/2,n%2,n/2n/2,n\%2,n/2,分到1或0的时候停止下分,然后区间求和。题解:我们按照题目要求dfs一遍就好了,就是一棵树,遇到0或1的时候return。AC代码:#include <iostream>#include <algorithm&g...

2018-08-28 14:37:01 213

原创 Codeforces 769B 暴力

传送门:题目题意:一开始,只要第一个学生知道消息,第一个学生想把消息传给所有人,只能点对点传输,而且每个人只能发送有限条消息,求方案,如果没法达成,输出-1题解:如果第一个学生可传达消息数不为0,且传达总数≥n−1≥n−1\geq n-1,那么就一定可以完成任务。 暴力的时候,我们可以先sort一遍,然后按照从大到小依次传递。AC代码:#include <i...

2018-08-28 14:31:30 255

原创 C++ 关于and or保留字

今天看别人代码,C++用了and,尼玛,那不是python或java等高级语言才有的关键字吗,什么时候C++也有了,遂查阅博客,有人说这是C++11的新特性,有人说C++第一开始就有了,遂自己动手。结论:不用开-std=c++11也能编译成功,所以这不是C++11的新特性实验程序:#include <iostream>using namespace std;...

2018-08-27 21:27:15 11621 3

原创 Codeforces 770B 思维

传送门:题目题意:给一个数n,求≤≤\leqn的,所有数位相加最大的,如果多个数都是可行解,取值最大的作为最优解输出。题解:这题我第一开始WA了,看CF代码,发现少枚举了一种情况,最大值无非就是三种情况:首位不变,后面的都变成9首位减一,后面的都变成9首位不变,后面的其中一位是8,其余位都是9AC代码:#include <iostream>#i...

2018-08-27 20:56:53 222

原创 BZOJ 3211 线段树 区间更新 区间求和

传送门:题目题意:给一个序列,有两种操作:给区间[l,r],区间的每个值都开根号查询区间[l,r]的sum和题解:纯的线段树,区间更新,区间求和,套个模板就好。然后有个技巧,10910910^9开5次方就是1了,所以我们在建树的时候,发现值≤≤\leq1的时候,标记一下,然后以后更新的时候,遇到1直接跳过就好了。坑点:不能用cin,cout,要不会超时。A...

2018-08-26 21:25:42 409

原创 常用组合数计算公式

Cmn=Cm−1n−1+Cmn−1Cnm=Cn−1m−1+Cn−1mC_n^m=C_{n-1}^{m-1}+C_{n-1}^{m}m∗Cmn=n∗Cm−1n−1m∗Cnm=n∗Cn−1m−1m*C_{n}^{m}=n*C_{n-1}^{m-1}C0n+C1n+C2n+⋯+Cnn=2nCn0+Cn1+Cn2+⋯+Cnn=2nC_{n}^{0}+C_{n}^{1}+C_{n}^{2}+\dots...

2018-08-26 20:31:23 68790 2

原创 Codeforces 800B 计算几何

传送门:题目题意:给n个点,按照输入的顺序,顺时针连接每个点,可以组成一个凸的多边形,我们可以移动任意一个点,在以该点为圆心,半径不超过d的范围内,假设,移动后的多边形,保证任意两条边不是相交的,以及它依然是一个凸形,d最大为多少?题解:明显是一道计算几何的题,我们只需要考虑如何满足上面两个条件即可:保证任意两条边不相交,相邻点的距离小于2∗d2∗d2*d即可我们知道,未改...

2018-08-26 10:24:36 270

原创 POJ 2481 树状数组

传送门:题目AC代码:#include <iostream>#include <cstring>#include <cstdio>#include <algorithm>#define debug(x) cout<<#x<<&a

2018-08-25 17:51:55 206

原创 HDU 5316 线段树 单点更新 区间最值

传送门:题目题意:给一个序列,有n位,下标索引为[1,n],有两种操作:更改某一位的值查询区间[l,r]中子序列中所有元素累加和的最大值,这里子序列的定义为:子序列中的下标映射到原序列中,下标可以不相邻,只要满足奇偶交替即可,比如:原序列是”1,2,3,4,5,6,7,8,9”,那么子序列可以为"1,4,5,6,7,8,9"或者"4,1,5,6,7,8,9&a

2018-08-25 15:56:03 191

原创 HDU 4521 LIS变形 简单dp 线段树 单点更新 区间最值

传送门:题目题意:给一个由n个数组成的序列,然后从左到右取一些数组成一个新序列,这个新序列满足一些条件:新序列是递增的原序列取得过程中,相邻两个元素的位置间隔至少为d原序列的个数尽可能多题解:第一个条件明显是LIS,第二个题目告诉我们这道题是LIS的变形,说是变形,其实就改了一点,我们在求普通LIS的时候,dp[i]=dp[i-1]+1,这道题:dp[i]=dp[i-d...

2018-08-25 12:57:41 160

翻译 ios basic_ios和ios_base 的区别

来源:原文翻译自:StackOverflow原文地址前言:关于ios,作为C++的程序员肯定不陌生,最基础的,我们在设置小数位精度的时候,要用ios::fixed。作为ACM选手,最常用的ios::sync_with_stdio(false) 笔者今天在codeforces上看别人代码时,看到别人用了ios_base::sync_with_stdio(false),遂翻阅资料,在St...

2018-08-24 13:36:41 3167 3

原创 Codeforces 794C 贪心

传送门:题目题意:两个人各有一个字符串,字符串长度相等n,从第一个人开始游戏,每次都从自己拥有的字符串任意位置中拿取一个字母,放入一个新字符串中的任意位置,第一个人希望新字符串字典序小,第二个人希望新字符串字典序大,新字符串长度也为n。题解:第一开始想的是,sort两遍,从头开始取,然后依次放入第三个字符串就能满足题意了。果然WA了一次。 突然想到一种情况,比如说第一个人”x...

2018-08-24 12:41:16 322 1

原创 利用gets函数 花式进行赋值操作

今天在看别人代码时,发现gets的新用法,记录如下需求:给三个字符串数组,两个一维数组char a[],char b[],一个二维字符串数组temp[][]。 要求输入两个字符串,分别输入到a和b中,然后让temp[0]=a,temp[1]=b代码实现:一行操作:#include <iostream>char a[10], b[10], *temp[] = ...

2018-08-23 22:13:25 1869

原创 gets函数在何种情况下能够使用

关于gets函数:gets函数是一个很有争议的函数,因为它存活了一段时间,然后有被废弃了。C99官方文档(第297页):7.19.7.7 The gets functionSynopsis1 #include <stdio.h>char *gets(char *s);Description2 The gets function reads characte...

2018-08-23 21:35:04 2679

原创 Codeforces 792C 模拟

传送门: 题目题意:给一个数字,你可以删除字符串某一个位置的字符,使其满足下列条件:数字没有前导0数字能够被3整除求操作次数的最小值。题解:我们知道,一个数字所有位上的数字相加,能够被3整除,那么这个数字就能被3整除,所以我们可以依靠这个条件判断条件2。如果除的时候有余数,那么只需要从原来数字中删除一位,这一位的mod恰好是余数,那么就可以满足条件。我们也可以...

2018-08-23 19:15:22 230

原创 HDU 5923 并查集

传送门:题目题意:题目比较难理解,读懂之后就是个并查集,别的博客用的可持久化并查集,本人就用了个普通并查集,也能AC,因为不会可持久化并查集啊。 有一个图,一棵树,然后树中的每个结点存的都是图中的边的信息,所以图有m条边,则树就有m个顶点。然后有q次问询,每次问询都给几个点,从树中找到这些点,并且他们的所有祖先也要加入这个集合,然后把这个集合映射到图中,求图的连通分量。答案就是连通分...

2018-08-22 20:32:52 189

原创 HDU 1166 线段树 单点更新 区间查询

传送门:题目题意:n个营地,告诉你初始时每个营地的人数,之后的操作有三种:某个营地增加人数某个营地减少人数查询营地[i,j]的人数总和。题解:典型的线段树单点更新,区间查询。AC代码:#include<iostream>#include<cstdio>#include<cstring>using namespace ...

2018-08-21 20:21:54 202

原创 HDU 1349 逆序对 数论 暴力 线段树 树状数组 单点更新 区间求和

传送门:题目题意:给一个序列(n个数,[0,n-1]每个数无重复),求该序列的逆序数,逆序对-维基百科,然后序列可以做如下操作:序列的第一个值移到序列的结尾,剩下的每个值向前推进一位。 求操作n-1次后,原有的加生成的,总共n种字符串中,逆序对的最小值。暴力+数论:题目很好理解,先看一个暴力解法,我们用两个for循环求出初始串的逆序对Cnt。 然后我们把第一个数字移到最后面,不...

2018-08-21 19:59:38 233

原创 Codeforces 798D 二维贪心找可行解

传送门:题目题意:给两个序列A,B然后找你找到一个下标集合P,P的个数P.size≤⌊n2⌋+1P.size≤⌊n2⌋+1P.size\leq \lfloor\frac{n}{2}\rfloor+1,然后以P为下标的AB集合记作A2B2A2B2A_2B_2,满足2∗Sum(A2)>Sum(A)2∗Sum(A2)>Sum(A)2*Sum(A_2)>Sum(A)和2∗Sum(B2)...

2018-08-21 17:32:50 228

原创 Codeforces 798C gcd 找规律

传送门:题目题意:给一个序列a,做一些变换,用最少的变换次数,让序列满足 gcd(a[0],a[1],⋯,a[n−1])>1gcd(a[0],a[1],⋯,a[n−1])>1gcd(a[0],a[1],\cdots,a[n-1])>1 变换规则为,相邻两个数:a[i],a[i+1]a[i],a[i+1]a[i],a[i+1],经过变换后为a[i]−a[i+1],a[i]...

2018-08-21 15:46:33 277

原创 C++ 负数取模

保证取模后的结果为正数: ((x % MOD) + MOD) % MOD

2018-08-21 14:45:50 3143

原创 Codeforces 798B 字符串暴力

传送门:题目题意:给n个字符串,每个字符串都可以做一个操作:字符串的第一位移到字符串的末尾,剩下的字符向前进一位,问最少做多少次操作,所有字符串能相等。题解:第一开始我想到的是纯模拟,模拟字符串向前移动的过程,然后n2n2n^2搜索最优解,不知不觉写了5个for循环,算了一下复杂度505=109505=10950^5=10^9,心想肯定T了,然后交了一下,看看能不能卡过去,竟然...

2018-08-21 14:19:51 313

原创 Codeforces 799C 暴力 线段树 RMQ

传送门:题目题意:一个人,想要购买两件商品,有两种货币,每件商品能且之能用一种货币购买,每件商品都有一个权重,我们想让购买的商品权重和最大,要求输出最大的权重和,如果没办法购买两件商品,输出0题解:第一开始看到数据范围10510510^5,想到这道题得用线段树了。然后突然想到先按权重从大到小排,然后找到能够购买的权重最大的商品,找到后直接退出就行了(贪心),这样复杂度到不了n2n2...

2018-08-21 13:42:24 291 2

原创 FZU2278 大整数乘法除法 期望

传送门:题目题意:一共有n种牌,每张牌出现的概率都相等,每张牌需要花费W元,求收集到所有牌需要花费多少元。题解:我们先考虑需要购买几次才能收集到所有种类的牌: Cnt=n∗∑ni=11iCnt=n∗∑i=1n1iCnt=n*\sum_{i=1}^{n} \frac{1}{i} 不懂上面期望公式的可以去看这篇博客:期望公式_洛谷P1291 好了,现在我们知道了购买的次数,那么乘...

2018-08-20 22:17:42 433

原创 洛谷P1291 SHOI2002 期望

传送门:题目题意:每瓶可乐都印有一个球星的名字,一共有n个不同球星的名字,出现的概率都相等,问期望买几瓶可能能集齐所有球星的名字。题解:典型的期望题。 我们不能分别考虑每一个球星出现的概率。因为考虑单独的一个球星的时候所买的“没用”的饮料在考虑其他球星的时候可能会变成有用的。所以我们需要整体考虑: 我们当前已经集齐了kkk个球星的名字,我们想知道集齐k+1k+1k+1个球星名字...

2018-08-20 22:00:55 182

原创 HDU 1134 POJ 2084 大整数相乘 卡特兰数

传送门:题目题意:看到题目,一脸懵逼,不知道这游戏到底是什么,看到样例输入,样例输出: 2,5?脑补个样例,一个点肯定输出1啊,然后1,2,5这不是卡特兰数吗?然后再读一下题,好像就是个线性递推式,应该是卡特兰数没错了。然后再看一下数据范围100,加个大整数模板就行了。AC代码:#include <iostream>#include <cstring&gt...

2018-08-20 20:14:36 171

转载 C语言运算符优先级

转自: https://blog.csdn.net/yuliying/article/details/72898132C语言运算符优先级优先级运算符名称或含义使用形式结合方向说明1[]数组下标数组名[常量表达式]左到右–()圆括号(表达式)/函数名(形...

2018-08-20 00:58:45 278

原创 C++ 关于int128在何种环境下能够使用

今天看到有int128这种神奇的大正数类型,“可能“让我们的大整数相加变得简单些,但是自己用gcc编译了一下,失败了。不死心VS2017也失败了,网上说,只有在某些情况能够使用。做了个测试,发现只有在Linux环境下能够使用。 下面是我搜集的资料和做的实验,记录一下:C99官方文档:(511页) J.5.6 Other arithmetic types Additio...

2018-08-19 23:57:52 33282 9

原创 C++ getline 和 cin.getline的个人总结

在C/C++语言中,如果我们想读入一个带有空格的字符串,我们可以选择gets(str)。但是这种做法有两个局限性:str必须为char类型的数组,不能用string str不能使用-std=c++11编译,因为在c11标准中,已经把gets()函数移除了。那么,什么是c11标准所推荐的读入带有空格字符串的方式呢?getline(从哪里读入,赋值到哪里去,以什么标志结束读入)...

2018-08-19 23:26:46 579

原创 C++ 判断读入是否为空行的办法

有的时候,我们会遇到这样的input Input: abc 空行 abc 比如:HDU1251这种问题就是不告诉你具体的字符串个数,以一个空行为标记。实现:while(getline(str,cin)){ if(str.size==0)//则为空行 break;}...

2018-08-19 21:34:02 11466 2

原创 Codeforces 935B 暴力

传送门:题目题意:一个人只在平面第一象限运动,他只会往上走和往右走,每次直走一格距离,问穿过y=x这条线的次数,注意是穿过,如果只碰了一下,然后又回来则不算,题解:题目很简单,代码也很短,比赛的时候写复杂了,这里记录一下较为简单的解法: 比赛的时候想的是for循环模拟走,x和y数组记录足迹,如果碰到y=x,标记一下,然后继续走,如果由标记,判断本次的点和上上次的中点,是不是在y=...

2018-08-19 11:23:07 233

原创 Codeforces 801C 二分

传送门:题目题意:一共有n个电器,一个充电宝,充电宝有无限电量,但是只有一个接口,也就是不能同时给两个电器充电,然后输出还有限,每秒钟输出p格电量(垃圾充电宝),然后告诉你每个电器每秒钟耗费几格电量a[i],以及每个电器电池的初始时剩余电量b[i],每个电器电池的容量是无限的,也就是充电宝不会把电器充爆。问你所有电器同时连续使用的最长时间,充电宝由一个电器换插到另一个电器不耗费时间。如...

2018-08-18 20:51:09 184

原创 C语言中 整数除法 向上取整的数学证明

⌊⌋⌊⌋\lfloor\quad\rfloor为向下取整符号\qquad⌈⌉⌈⌉\lceil\quad\rceil为向上取整符号结论:⌈nm⌉=⌊n−1m⌋+1⌈nm⌉=⌊n−1m⌋+1\lceil \frac {n}{m} \rceil = \lfloor \frac{n-1}{m} \rfloor+1(n>0,m>0)数学证明:我们令n=k∗m+bn=k∗m...

2018-08-18 19:49:40 3244

原创 Coderforces 799A 思维题

传送门:题目题意:有n个蛋糕,每一个烤箱生产k个蛋糕需要花费t分钟,现在有1个烤箱,如果再拿一个烤箱过来需要花费d分钟,拿烤箱的时候也可以造蛋糕,就是互不耽误,问有没有必要拿第二个烤箱。题解:看到这种题目,一开始以为是模拟题,就用了两个for循环,第一个for模拟一个烤箱,第二个for模拟二个烤箱,最后比较时间大小,最后也AC了。 赛后看题解,头文件到return 0;一...

2018-08-18 15:57:06 139

原创 Codeforces 801A 暴力 string

传送门:题目题意:给一个字符串,里面只有VK字母,计算所有出现VK的次数,你有且只有一次转换的机会,可以把V转成K,或者把K转成V,你可以不使用这次机会。题解:题目很水,先统计一次VK的个数,然后再统计一下VV或者KK的个数,如果有,结果+1就好,当时写了20多行,赛后看题解,发现题解Perl只用了一行,C++算头文件只用了5行,用了string.find()方法,很方便。AC...

2018-08-18 14:23:25 191

原创 Codeforces 799B 暴力 set

传送门:题目题意:有n件T恤,告诉你每件T恤的价格,每件T恤的价格都不相同,和T恤正反面的颜色,颜色有且只有3种。 然后有m个顾客,每个顾客都有自己的基于颜色偏好值,有且只有1种,他们会购买自己喜欢的颜色且价格最便宜的。 依次输出第i名顾客购买T恤的价格。如果没有自己喜欢的颜色,输出-1题解:第一开始我没看到颜色有且只有三种,直接上了一个结构体,记录颜色和价格,然后直接n2n2...

2018-08-18 11:11:46 311

adb带disable-verity.zip

adb驱动带disable-verity功能,不用添加环境变量,直接双击bat脚本启动,甚至更为小白设计了直接解锁system锁的bat,双击运行直接解锁

2020-08-30

dash for mac 4.6.2 license file

本人已付款,资源共享。

2019-03-30

kuangbin的ACM模板2018

kuangbin的ACM模板 2018年7月新。kuangbin的ACM模板 2018年7月新

2018-08-11

空空如也

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

TA关注的人

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