- 博客(10)
- 收藏
- 关注
原创 F - 打怪升级
思路:因为p的数据范围很小,而且不会下降,整个过程中最多只能用7瓶“乘2药”,要让时间尽可能的短,那么我们如果有“加1药”必然是直接用掉的,然后如果当前的p值已经大于p2了,就没有必要再使用“乘2药”,否则,可以dfs遍历在本关所使用的“乘2药”数量,递归求出最小通关时间即可。本题的任务是用最短的时间取得所有战斗的胜利。以下n行每行6个整数p1, p2, t1, t2, w1, w2(1
2023-04-30 22:29:10 198
原创 河南省第十三届ICPC大学生程序设计竞赛 C-Alice and Bob
该题有个坑点需要注意就是,题目并没有说清输入的Li,Ri的范围,使用int的话会爆掉,导致白wa了几发。主要思想:先用双指针预处理找出每一个i之后第一个满足不同的数个数不小于k的下标,并处理前缀和。再利用二分查找每一个li能满足条件的ri。
2023-04-16 20:49:46 338
原创 2022-2023 ACM-ICPC Nordic Collegiate Programming Contest (NCPC 2022) B. Berry Battle
题目大意:在一颗树上的每个节点都有一个果子和一只蚂蚁,你的目的是摘掉树上所有的果子,你每摘一个果子树上不在该点的蚂蚁就会往该点移动一步,在该点的蚂蚁则不动,当所有的蚂蚁都在一个点的时候你就会被蚂蚁杀死,现给定n-1条边,让你判断是否存在这样一个顺序使得你可以摘完所有的果子且不被蚂蚁杀死。主要思路:找到树的重心,这里重心的意思是树上每个点到该点的距离最大值最小的点,可以先跑dfs求出树的直径,到两端距离最小的点即为重心。此时,先选树的重心2,在选深度不为2的任意一条边的点,之后层次遍历输出即可。
2023-04-15 01:05:31 586
原创 2022-2023 ACM-ICPC Nordic Collegiate Programming Contest (NCPC 2022) G.Graduation Guarantee
先将概率从大到小进行排序,若该题做对的概率较小的话,不选这题得到k分的概率要比选这题的高,所以用dp[i][j]跑出前i题做对j题的概率是多少,然后遍历找出最大值。题目大意:有n道题,要得k分,每道题做对+1分做错-1分,可以选择做或者不做,每道题做对的概率是pi,求能到达k分的最大概率是多少。题目链接:https://codeforc.es/gym/104030/problem/G。思路:贪心+期望dp。
2023-04-15 00:50:11 684
原创 N. Numbers on both Sides
此题就是遍历并不断维护当前区间的最优解,在比赛时想到了multiset,但在删除值时没处理好,使用值删除而不是迭代器指向删除,导致删除变复杂,后采用单调栈维护当前最优,但没处理明白,赛后参考了学长的代码,果然思路没错,一样是用multiset存储,维护当前区间求最优解。不过学长采用的迭代器指向删除的方式更加干净利落。在更新区间时,需要注意,要先把旧的元素删掉并维持当前区间最优后才可加入新的区间,否则无法保证最优。
2022-10-18 23:34:36 237
原创 2022-2023 ICPC Brazil Subregional Programming Contest F. Multidimensional Hangman
F. Multidimensional Hangman
2022-10-18 21:58:39 590
原创 子串分值(c++)
题目描述对于一个字符串S,我们定义S的分值f(S) 为S中恰好出现一次的字符个数。例如f(aba) = 1,f(abc) = 3, f(aaa) = 0。现在给定一个字符串 S0⋯n−1(长度为n,1
2022-10-15 12:43:57 489
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人