- 博客(13)
- 收藏
- 关注
原创 Admiral HDU - 6171
这题很像那道八数码的题目,可以把21个位置每个位置有6种数,那么总共有21的6次方种状态,那么是可以用一个longlong来表示状态,用set来判重的。但是这样还是不够快。我们可以利用A星算法来优化搜索过程A星算法的知识,A星算法中有两个重要的值,已走步数和到终点估计值,已走步数这个很容易得到,到终点的估计值这个我们可以估计每个不合法的点直接挪过去他该去的那一行该走的步数。估价值h(n)<=
2017-08-24 19:56:16 267
原创 hdu - 6136
HDU - 6136解法一 第一种解法比较直观,最初始状态环上有 nn个人,第一次淘汰发生必然是环上相邻的两个人相撞。注意到第一个被淘汰的人不会对后续过程有任何影响,如果我们能找出谁是第一个被淘汰的,直接把这个人从初始状态中删除,就能把问题变成一个只有 n−1n-1个人的子问题,这个子问题和原问题有相同的答案。 于是我们可以用一个堆维护环上所有相邻人相遇的时间,从中取出最小值,就能找到第一个被淘
2017-08-18 20:11:53 231
原创 java poi 对 excel 单元格数据进行修改
在实现java poi对excel表操纵的过程中,想要把数据填入excel表格里面的某个坐标里面的时候。去百度的过程中发现都是先拿到row的坐标,然后拿到那个row中的cell的坐标,都是从0下标开始的,这种操作写一片数据当然舒服,用for循环来实现,但是我只是想往H5那个坐标写东西,这就很蛋疼。百度了很久无果之后,还是自己老实翻了翻java poi的接口,java poi celladdre
2017-08-13 20:49:43 21723 12
原创 hdu6109
这道题有两个关系,相等关系和不等关系,相等关系有传递性,这个很容易想到并查集这个数据结构来表示这个关系,然后是不等关系,这个因为没有传递关系,所以不能用并查集来表示。这道题一开始我想到的是挑战程序设计书上的食物链那道题,想要用unite(a,b+MAXN),unite(a+MAXN,b)来表示不等关系,这种方法是错的,这种方法是当a,b表示不在同一集合,并且集合种类只有两个的时候才是这样做法。 然
2017-08-13 20:35:23 402
原创 2017"百度之星"程序设计大赛 - 初赛(A)1006 度度熊的01世界
按照题目要求判断联通块个数和被包围个数之间的关系来判断图形。用dfs来进行联通块染色判断。
2017-08-13 20:12:18 306
原创 2017"百度之星"程序设计大赛 - 初赛(B)1006 小小粉丝度度熊
这题的区间因为有重叠,先考虑把重叠无用的区间去掉,考虑怎么去掉。如图,红色那种区间是完全没有用的,按区间左端点从小到大排序之后,如果一个区间的右端点,比上一个有效区间的右端点还要小的话,那么就是无用的了,应该要删掉这个区间。这个操作用set来实现很方便。然后考虑签到次数,这个条件怎么用,考虑到区间的价值都是正的,满足递增性,那么可以用尺取的方法来实现。如果签到次数有剩余,那么就尽量往右包括
2017-08-13 18:52:43 261
原创 hdu6071 2017hdu多校第四场
这道题题意也是很简单,给出一个4个点的无向图,组成了一个环路 从2点出发,随便跑,然后再从2点结束,问怎么个跑法让距离总和在超过k的前提下最短。 一步一步来想这道题,瞎几把暴力深搜可以出答案啊。 当然复杂度很高,那加个记忆化搜索,dp[4][k+30000],dp[i][j]表示的是从2开始出发来到i那个点,距离有没有距离为j的走法,有就true,没有就false,当深搜的时候遇到已经tr
2017-08-04 20:54:52 262
原创 [hdu6070] 2017hdu多校第四场
这道题是跟code force 834D很相像的一道题,题意说的是要求区间里面不同数的个数除区间长度的最小值,首先先想到一个公式size(l,r)r−l+1\frac{size(l,r)}{r-l+1},size(l,r)指的是l到r区间里有多少个不同的数。我们可以枚举每个数,对于每个数来说,如果以这个数作为新的右端点,那么左端点到上一次出现这个数之前的区间,都能享受到这个数作为一个新的贡献。也就是
2017-08-04 17:58:27 322
原创 code force 833B The Bakery
题意可以总结为把一堆数分割成k份,每份的权值定义为里面不同数个数,要让总的权值最大。这种类型的题目第一反应要想到用dp,有两个参数,第一维是k份,第二维是物品个数。dp[i][j]。 然后分析转移。 对于某个物品,他要产生贡献,则必定是到上一次出现这个4号之前的位置都能加一。而这个位置而言指的是如果在这个位置断开,新开一个区间来装4这个物品就能总的权值加1,比如说在这个物品的前一个4还要前的位置
2017-08-02 17:27:15 352
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人