- 博客(10)
- 收藏
- 关注
原创 V - Digital Deletions HDU-1404
V - Digital Deletions HDU-1404题意: 给出一个不超过6位的数字(有可能会出现前导零),有两种操作:1. 更改某一位的数字比其原来的小2. 如果某一位是0可以将其和之后的数字删除例如:两个人在玩游戏,谁先操作到最后谁获胜。思路: 此题可以sg打表,利用最简单的性质:同样逆推局面推出胜态。用相反的操作,还原胜态。#include <iostream>#in
2017-10-19 11:12:15 294
原创 I - Ugly Problem HDU-5920
I - Ugly ProblemHDU - 5920 题意: 有一个大数,长度不超过1000,现在需要分解它,并且分解出来的数字都是回文数字,求出每一个分解 的个数和每一个分解的的数字。要求个数不能超过50.题意: 此类题需要思维发散,向回文串的思路走的话会想到先找出一半,然后复制另一半,得到的数字必然是回文串,并且尽可能的大,当然会遇到此回文串比原串 大,即应该将左边的一半减一再还原,
2017-10-16 21:46:50 289
原创 D - Weird journey
D - Weird journey题意: n个城市,m条路,现在要找出这样的路:经过m-2条路两次,其它两条路经过一次。 问:有多少这样的路径。思路:一定要看清楚题。 根据题意发现类似于欧拉图,根据欧拉图的定义只有满足两个条件的才能画出图, 不妨把经过两次的边转化为欧拉图,根据欧拉图“一笔画”性质,可以得出肯定是相邻边,并且无论相邻节点的度是多少都能连城欧拉路,所以目的就是找出
2017-10-13 21:37:16 328
原创 C - Functions again 简单DP,需要转化
C - Functions again题意: 给出一个序列,定义一个区间函数为:求出最大的值。思路: 直接求没有办法求出,思考其公式,假如最终答案是区间l,r,其和最大,那么必然是正负正负正的形式,所以只需求出所有的正负情况,然后求出区间的最大子序列和即可。#include <iostream>#include <cstdio>#include <cstring>#include
2017-10-13 15:33:58 283
原创 D - Mike and distribution
D - Mike and distribution题意: 有两个数列,个数相同,现在选出不超过n/2+1个数列下标,使得在每一个数列中下标的数字之和的二倍大于原数列,输出答案和下标。思路: 题意是经过化简 的,因为题中并没有说要选择多少个下标,只是一个范围,那么最简单的做法当然是选择越多越好。 方法:思考挑选的个数,明显是大于数列个数的一半的。 先对A数列做一次排序,那么从大
2017-10-12 20:26:28 297
原创 C. Mike and gcd problem
C. Mike and gcd problem题意: 定义一种beautiful数列,满足gcd(b1,b2,···,bn) > 1. 现在给出一个数列A,有一种操作:对ai操作,使得a[i] = ap[i]-a[i+1],a[i+1] = a[i]+a[i+1] 问最少多少次操作使得题中满足beautiful。思路: 数学题就多思考,有公式的情况下向公式思考。根据操作的方法
2017-10-12 12:02:06 312
原创 B. Mike and strings
B. Mike and strings题意: 有n个相同长度的字符串,现在问是否可以通过一种操作使得恢复成一样的字符串,若能,输出最少的次数。 操作:把当前字符串的第一个字母放到最后一个字母的后边。 n < 50. length < 50.思路: 看到数据的范围就感觉可以暴力求,但是对于字符串的题,不要急于动手打代码。 想清楚思路: 成为相同的字符串
2017-10-12 12:01:26 320
原创 Codeforces Round #411 (Div. 2) E - Ice cream coloring
E - Ice cream coloring题意: 有一棵树T,节点为1~n,现在有m种ice cream,每一个节点都有si种ice cream,现在新建一棵树G,节点为ice cream 的种类数,标号为1~m,边是否相连有如下规则: if and only if there exists a vertex in T that has both the v-th and the u
2017-10-11 22:19:10 295
原创 codeforces 810 D . Glad to see you!
D. Glad to see you!题意: 题意往往是最难的对于弱鸡来说。 简化题意如下: 有n个数字1到n,现在一个人选了k个,现在让你从k个中找出两个数字,找的方法是:询问!这便是交互问题,通过询问的方式:询问三个数字1 x y,1代表问,x、y代表你想问的两个数字,另一个人会回答真正的两个数字离x、y哪一个数字最近,离x近或者两个一样近是TAK,否则是NIE。最后输出答
2017-10-09 22:01:12 574
原创 codeforces 810 C - Do you want a date?
codeforces 810C - Do you want a date?题意: 有一个集合,其中有n个数字,这个集合有很多子集,现在规定每一个子集必须至少有两个数字,其中子集中两个数字最大的差值就是这个子集的函数值,现在求出所有子集的函数值的和,需要取模。思路: 很容易想到枚举集合中最大的值的位置,需要对元素排序,例如在i位置和j位置(i#include <iostream>#in
2017-10-09 18:09:34 323
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人