随笔分类 -  ---杂题---

摘要:题目链接:hdu 5113 Black And White 题意: 给你n*m的格子,现在有k种颜色,每种颜色要填c[i]个格子,让你输出一种合法的填涂方案,相邻格子颜色不能相同。 题解: 暴搜+剪枝。 对于当前剩下的格子数,考虑剩下的c[i],如果剩下的c[i]>(剩下的格子数+1)/2,那么就不 阅读全文
posted @ 2017-10-02 20:08 bin_gege 阅读(159) 评论(0) 推荐(0)
摘要:题目链接:Codeforces Round #433 (Div. 2) C. Planning 题意: 有n架飞机要起飞,起飞的时间是t1=k+1,t2=k+2...tn=k+n。 现在有n个位置,每个位置的cost为(t-i)*ai(t>=i),现在问你如何给每架飞机安排位置,使得sumcost最 阅读全文
posted @ 2017-09-07 12:58 bin_gege 阅读(167) 评论(0) 推荐(0)
摘要:题目链接:Codeforces Round #433(Div. 2) D. Jury Meeting 题意: 有n个城市,每个城市有一个人,现在要让这些人来0号城市在一起k天,然后回去。 现在有m个日程表,每个日程表有出发时间,出发城市,到达城市(出发城市和到达城市其中一个为0),价钱。 现在让你安 阅读全文
posted @ 2017-09-07 12:51 bin_gege 阅读(218) 评论(0) 推荐(0)
摘要:题目链接:hdu 6161 Big binary tree 题意: 给你n个点,和m条操作,一开始n个点构成一个完全二叉树,每个点的权值为该点编号。 每个操作可能为 1.询问经过x点的最大路径(该路径上的点权之和最大)。 2.修改x点的权值。 题解: 下面是官方题解 考虑dp,f(x)表示从点x开始 阅读全文
posted @ 2017-08-23 14:50 bin_gege 阅读(255) 评论(0) 推荐(0)
摘要:题目链接:hdu 6136 Death Podracing 题意: 有n个人在一个环形的跑道上,第i个人有一个power i,每个人有一个起始点和一个不同的速度。 如果两个人相遇,那么power大的那个人就会将power小的那个人淘汰出局。 然后问决出胜负需要多少时间。 题解: 显然,每次有人被淘汰 阅读全文
posted @ 2017-08-20 18:31 bin_gege 阅读(318) 评论(0) 推荐(0)
摘要:题目链接:hdu 6140 Hybrid Crystals 题意: 给你n个数,为你是否能选一些数出来加起来为k,这些数中有正有负,还有同时可为正可为负。 给的数据有个限制,就是后面的数比前面对应类型的总和都大。 题解: 从后往前贪心就行了。 不会证,不过Claris说贪心是对的。- -! 1 #i 阅读全文
posted @ 2017-08-17 19:32 bin_gege 阅读(119) 评论(0) 推荐(0)
摘要:题目链接:hdu 6128 Inverse of sum 题意: 给你n个数,问你有多少对i,j,满足i<j,并且1/(ai+aj)=1/ai+1/aj 在%p意义下。 题解: 不愧是高中生,推公式神题。 将式子通分化简后可得(ai2+aj2+ai*aj)%p=0。 然后两边同时将两边乘(ai-aj 阅读全文
posted @ 2017-08-15 19:32 bin_gege 阅读(570) 评论(0) 推荐(0)
摘要:题目链接:hdu 6085 Rikka with Candies 题意: 给你一个A序列和B序列,A和B内的每个数都不相同,现在有q个询问,问对于每个询问的k输出A[i]%B[j]==k的个数的奇偶性。 题解: 考虑两种情况: 1. 当A[i]<B[i]时,对于当前询问的k,只要A[i]中有k,那么 阅读全文
posted @ 2017-08-09 10:41 bin_gege 阅读(158) 评论(0) 推荐(0)
摘要:题目链接:hdu 6090 Rikka with Graph 题意: 给你一个n和m,让你用这m条边将n个点链接起来,使得对于全部的pair<i,j>的最短路之和最小。没有路的值就为n。 题解: 还是和题解说的一样 1 #include<bits/stdc++.h> 2 #define mst(a, 阅读全文
posted @ 2017-08-08 18:16 bin_gege 阅读(132) 评论(0) 推荐(0)
摘要:题目链接:hdu 6073 Matching In Multiplication 题意: 给你2*n个点,左边n个点每个点都有两条边,求所有完美匹配的边权乘积的和,题目保证至少有一个完美匹配。 题解: 首先我们先找出各个连通块,每个连通块只要度不是为1的话肯定都是为2的。 所以就先用拓扑排序将度为1 阅读全文
posted @ 2017-08-03 21:14 bin_gege 阅读(297) 评论(0) 推荐(0)
摘要:题目链接:hdu 6058 Kanade's sum 题意: 给你一个n个数的排列,问你全部区间第k大的总和为多少。 题解: 我们只要求出对于一个数x左边最近的k个比他大的和右边最近k个比他大的,扫一下就可以知道有几个区间的k大值是x。 我们考虑从小到大枚举xxx,每次维护一个链表,链表里只有>=x 阅读全文
posted @ 2017-08-01 22:54 bin_gege 阅读(118) 评论(0) 推荐(0)
摘要:题目链接:hdu 6060 RXD and dividing 题意: 给你一棵树,让你将树的节点划分为k个集合,每个集合都会包括1这个节点,每个集合的价值为这个点集的斯坦纳树的价值。 题解: 比赛的时候看错题啊!!!!!,什么鬼斯坦纳树,结果是对于每个集合的点,选一些树上的边,恰好使这个集合的点连通 阅读全文
posted @ 2017-08-01 18:24 bin_gege 阅读(129) 评论(0) 推荐(0)
摘要:题目链接:hdu 6034 Balala Power! 题意: 给你n个字符串,都是包含小写字母,现在让你给a~z赋值0~25,使得这些字符串变成的26进制的数的总和最大。 不能有前导0的情况,他们保证至少有一个字母不出现在第一位。 题解: 每个字符对答案的贡献都可以看作一个 26 进制的数字,问题 阅读全文
posted @ 2017-07-25 18:05 bin_gege 阅读(329) 评论(0) 推荐(0)
摘要:题目链接:hdu 5798 Stabilization 题意: 给出一个序列Ai,可以让每个Ai异或上一个x使得最小,问最小值以及使得该值最小的最小x值 题解: 首先枚举x,然后如何来算得出的价值呢,巧妙的利用A[i]与A[i-1]的二进制位关系。 详细题解传送门 1 #include<bits/s 阅读全文
posted @ 2017-07-24 20:31 bin_gege 阅读(199) 评论(0) 推荐(0)
摘要:题目链接:hdu 5857 Median 题意: 给你n个排好序的数,有m个询问,每次询问给出两个区间,然后让这两个区间的数重新组成一个序列, 然后让你输出这个序列的中位数。 题解: 分类讨论一下。 如果两个区间不重合,那么很直接的就能算出来中位数的位置。 如果重合,就将重合的那一部分数记为占了两个 阅读全文
posted @ 2017-07-21 17:06 bin_gege 阅读(131) 评论(0) 推荐(0)
摘要:题目链接:Educational Codeforces Round 25 G. Tree Queries 题意: 给你一棵树,一开始所有的点全是黑色,有两种操作。 1 x 将x这个点变为黑色,保证第一个操作是这个。 2 x 询问x到任意黑色的点的简单路径上的最小节点编号。 题解: 首先将一个变为黑色 阅读全文
posted @ 2017-07-19 12:11 bin_gege 阅读(154) 评论(0) 推荐(0)
摘要:题目链接:Codeforces Round #423 (Div. 2) D. High Load 题意: 给你一个数n和k,让你构造出一颗树,有k个叶子节点,使得这棵树的任意两个点的距离的最大值最小。 题解: 显然要使得这棵树的任意两个点的距离的最大值最小,每个点离树根越近越好。 然后要求有k个叶子 阅读全文
posted @ 2017-07-15 16:11 bin_gege 阅读(234) 评论(0) 推荐(0)
摘要:题目链接:Codeforces Round #424 (Div. 2) C. Jury Marks 题意: 给你一个有n个数序列,现在让你确定一个x,使得x通过挨着加这个序列的每一个数能出现所有给出的k个数。 问合法的x有多少个。题目保证这k个数完全不同。 题解: 显然,要将这n个数求一下前缀和,并 阅读全文
posted @ 2017-07-14 23:19 bin_gege 阅读(335) 评论(0) 推荐(1)
摘要:题目链接:Helvetic Coding Contest 2017 online mirror B. Heidi and Library (medium) 题意: 已知每天的借书序列,你最多能同时保存k种书,现在问你最多要买多少次书,一开始有0种书,超过k种就要扔掉。 题解: 考虑贪心。 首先,显然 阅读全文
posted @ 2017-07-11 16:06 bin_gege 阅读(296) 评论(0) 推荐(0)
摘要:题目链接:poj 2796 Feel Good 题意: 给你n个数,定义一个区间的值为这个区间的最小值乘上这个区间的数的和。 让你选一个值最大的区间。 题解: 考虑以每一个数作为区间的最小值,那么现在问题就转换成了如果以这个数为最小值,那么从这个位置开始左右最远能到哪个位置。 这里就要用到单调栈了。 阅读全文
posted @ 2017-07-07 12:24 bin_gege 阅读(138) 评论(0) 推荐(0)