shadandeajian的博客

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

Codeforces 100518B DP

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

2018-08-30 20:46:48

阅读数 56

评论数 0

Codeforces 770C 拓扑排序 DFS

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

2018-08-29 00:26:25

阅读数 84

评论数 0

Codeforces 769C BFS 贪心

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

2018-08-28 21:06:26

阅读数 57

评论数 0

Codeforces 768A 暴力

123

2018-08-28 14:59:48

阅读数 53

评论数 0

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代码: ...

2018-08-28 14:37:01

阅读数 50

评论数 0

Codeforces 769B 暴力

传送门:题目 题意: 一开始,只要第一个学生知道消息,第一个学生想把消息传给所有人,只能点对点传输,而且每个人只能发送有限条消息,求方案,如果没法达成,输出-1 题解: 如果第一个学生可传达消息数不为0,且传达总数≥n−1≥n−1\geq n-1,那么就一定可以完成任务。 暴力的时候...

2018-08-28 14:31:30

阅读数 42

评论数 0

C++ 关于and or保留字

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

2018-08-27 21:27:15

阅读数 747

评论数 0

Codeforces 770B 思维

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

2018-08-27 20:56:53

阅读数 51

评论数 0

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

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

2018-08-26 21:25:42

阅读数 108

评论数 0

常用组合数计算公式

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+...

2018-08-26 20:31:23

阅读数 8540

评论数 2

Codeforces 800B 计算几何

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

2018-08-26 10:24:36

阅读数 49

评论数 0

POJ 2481 树状数组

传送门:题目 AC代码: #include <iostream> #include <cstring> #include <cstdio&a...

2018-08-25 17:51:55

阅读数 61

评论数 0

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

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

2018-08-25 15:56:03

阅读数 55

评论数 0

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

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

2018-08-25 12:57:41

阅读数 47

评论数 0

ios basic_ios和ios_base 的区别

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

2018-08-24 13:36:41

阅读数 676

评论数 1

Codeforces 794C 贪心

传送门:题目 题意: 两个人各有一个字符串,字符串长度相等n,从第一个人开始游戏,每次都从自己拥有的字符串任意位置中拿取一个字母,放入一个新字符串中的任意位置,第一个人希望新字符串字典序小,第二个人希望新字符串字典序大,新字符串长度也为n。 题解: 第一开始想的是,sort两遍,从头开...

2018-08-24 12:41:16

阅读数 61

评论数 0

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

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

2018-08-23 22:13:25

阅读数 221

评论数 0

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

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

2018-08-23 21:35:04

阅读数 584

评论数 0

Codeforces 792C 模拟

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

2018-08-23 19:15:22

阅读数 56

评论数 0

HDU 5923 并查集

传送门:题目 题意: 题目比较难理解,读懂之后就是个并查集,别的博客用的可持久化并查集,本人就用了个普通并查集,也能AC,因为不会可持久化并查集啊。 有一个图,一棵树,然后树中的每个结点存的都是图中的边的信息,所以图有m条边,则树就有m个顶点。然后有q次问询,每次问询都给几个点,从树中找...

2018-08-22 20:32:52

阅读数 47

评论数 0

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