摘要: 题目描述 N个人正在排队进入一个音乐会。人们等得很无聊,于是他们开始转来转去,想在队伍里寻找自己的熟人。队列中任意两个人A和B,如果他们是相邻或他们之间没有人比A或B高,那么他们是可以互相看得见的。 写一个程序计算出有多少对人可以互相看见。 输入输出格式 输入格式: 输入的第一行包含一个整数N (1 阅读全文
posted @ 2019-01-22 23:02 darrrr 阅读(144) 评论(0) 推荐(0) 编辑
摘要: 题目背景 Farmer John每年有很多栅栏要修理。他总是骑着马穿过每一个栅栏并修复它破损的地方。 题目描述 John是一个与其他农民一样懒的人。他讨厌骑马,因此从来不两次经过一个栅栏。你必须编一个程序,读入栅栏网络的描述,并计算出一条修栅栏的路径,使每个栅栏都恰好被经过一次。John能从任何一个 阅读全文
posted @ 2019-01-22 20:38 darrrr 阅读(192) 评论(0) 推荐(0) 编辑
摘要: 几个月之前学的 当时 可能只是明白了 但没有真正的掌握 以至与 现在的我 不记得多少了 所以 我觉得很有必要 写一写 st表 用于解决RMQ问题(区间最值问题) O(n logn) ST表是利用的是倍增的思想 拿最大值来说 我们用Max[i][j] Max[i][j] 表示,从i i 位置开始的2  阅读全文
posted @ 2019-01-22 19:52 darrrr 阅读(147) 评论(0) 推荐(0) 编辑
摘要: 题目背景 2018 年 7 月 19 日,某位同学在 NOI Day 1 T1 归程 一题里非常熟练地使用了一个广为人知的算法求最短路。 然后呢? 100→60 Ag→Cu 最终,他因此没能与理想的大学达成契约。 小 F 衷心祝愿大家不再重蹈覆辙。 题目描述 给定一个 N 个点,M 条有向边的带非负 阅读全文
posted @ 2019-01-21 22:36 darrrr 阅读(194) 评论(0) 推荐(0) 编辑
摘要: <memory.h>或<string.h> 作用 memset是计算机中C/C++语言初始化函数。作用是将某一块内存中的内容全部设置为指定的值, 这个函数通常为新申请的内存做初始化工作。 对较大的结构体或数组进行清零操作的一种最快方法。、 注意注意注意注意 1.memset函数按字节对内存块进行初始 阅读全文
posted @ 2019-01-21 21:05 darrrr 阅读(230) 评论(0) 推荐(0) 编辑
摘要: 1.我们可以使用系统提供的常量: 如果是int型,可以用INT_MAX表示正无穷,INT_MIN表示负无穷,需要包含头文件limits.h; 如果是double型,可以用DBL_MAX表示正无穷,-DBL_MAX表示负无穷(注意不是DBL_MIN),需要包含头文件float.h。 2.我们也可以自己 阅读全文
posted @ 2019-01-21 20:45 darrrr 阅读(4501) 评论(0) 推荐(0) 编辑
摘要: 往堆中加一个元素的算法(put): 从堆中取出并删除一个元素的算法(get) 阅读全文
posted @ 2019-01-21 20:25 darrrr 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 题目背景 二分图 感谢@一扶苏一 提供的hack数据 题目描述 给定一个二分图,结点个数分别为n,m,边数为e,求二分图最大匹配数 输入输出格式 输入格式: 第一行,n,m,e 第二至e+1行,每行两个正整数u,v,表示u,v有一条连边 输出格式: 共一行,二分图最大匹配 输入输出样例 输入样例#1 阅读全文
posted @ 2019-01-21 13:59 darrrr 阅读(161) 评论(0) 推荐(0) 编辑
摘要: 题目描述 一个学校里老师要将班上NNN个同学排成一列,同学被编号为1∼N1\sim N1∼N,他采取如下的方法: 先将111号同学安排进队列,这时队列中只有他一个人; 2−N2-N2−N号同学依次入列,编号为i的同学入列方式为:老师指定编号为i的同学站在编号为1∼(i−1)1\sim (i -1)1 阅读全文
posted @ 2019-01-20 23:19 darrrr 阅读(418) 评论(0) 推荐(0) 编辑
摘要: 题目描述 给出一段序列,选出其中连续且非空的一段使得这段和最大。 输入输出格式 输入格式: 第一行是一个正整数NNN,表示了序列的长度。 第二行包含NNN个绝对值不大于100001000010000的整数AiA_iAi​,描述了这段序列。 输出格式: 一个整数,为最大的子段和是多少。子段的最小长度为 阅读全文
posted @ 2019-01-20 21:50 darrrr 阅读(182) 评论(0) 推荐(0) 编辑