ITPub博客

首页 > IT职业 > IT职场 > 给出一个正整数n,请数数有多少正整数k满足kk

给出一个正整数n,请数数有多少正整数k满足kk

原创 IT职场 作者:小白yy 时间:2021-05-11 09:28:50 0 删除 编辑

题目:

给出一个正整数n,请数数有多少正整数k满足kk <=n

1≤n≤10^18

题解:

别想太多,。。

经过测试当k =15时,就大于10^18,所以直接循环枚举15以内就就行

代码:


E - CS Course HDU - 6186

题意:

n个数,q个操作,每次操作选择一个位置,使得除这个之外其他位置的数进行and,or,xor操作得到解决

题解:

xor好说,直接xor所有,要去掉哪个值就xor哪个

and和or怎么看?

这种问题一般都用二进制思考

我们记录所有数在第k位上的贡献,如果删去指定的数后,其他所有数在第k位上都贡献了1,那么这个数and的结果上,这一位就是1

如果其他数存在在第k位上贡献1,那么or的结果上,这一位就是1

代码:


F - Destroy Walls HDU - 6187

题目:

给你一个城堡位置,然后有n个城市(不算城堡),通过m条边相连,城市的位置,边权都会给出,现在要求从城堡可以到任何一个地方,问最少删几条边,最少删的权值是多少

题解:

这个题用不上坐标

当n个点,n-1条边时,就不存在环,可以畅通所有地方,本质就是求最大生成树

代码:


G - Duizi and Shunzi HDU - 6188

题意:

当连续按相同数字键(比如:2 2)的时候便会释放“横斩”技能;当依次按下三个连续数字时(比如:2 3 4)的时候便会释放“纵斩”技能。“横斩”和“纵斩”的伤害都为 1。

现在给你一串数字,问最高的伤害是多少?

题解:

我们可以看出横斩的性价比要高于纵斩,所以优先选横斩,但是有可能遇到样例里第4个情况

6

1 2 3 3 4 5

所以我们这样操作,从前往后依次求每个位置的横斩贡献,然后计算从这个位置向前两个位置能否使用纵斩,因为前面经过的位置肯定就没用了,所以这样可以做到不浪费技能,巧妙化解上面的情况

代码


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69999727/viewspace-2771669/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
VX;17763535708

注册时间:2021-05-10

  • 博文量
    22
  • 访问量
    11990