这是一道绿题,是一道让人想用贪心但却是区间DP的题目,难倒了我这个蒟蒻。 这个题其实仔细观察是类似于石子合并的!合并石子的代价便是肉的数量,求最小代价。所以我们设dp[i][j]为释放第i个到第j个所花费的代价,先用sum[i]求出每一个节点(犯人1与起点间的人数,犯人i+1与犯人i间的人数,终点与 ...
分类:
其他好文 时间:
2019-07-29 00:12:08
阅读次数:
102
字符串(str)内置函数 常用的 按索引取值 str[n] 取出str字符串中第n个字符(字符串从0开始数) 当n为负数时从后往前数 切片 str[x:y] 从第x个取到第y 1个字符(取出就是切片,x是闭y是开) str[x:y:step] step是步长(当step= 1是就是取从后往前取) 当 ...
分类:
其他好文 时间:
2019-07-28 17:57:45
阅读次数:
103
题目分析 显然,一行上如果在第j列为‘1’,那么这一行就可以被换到第j行。换一个说法,题目就是让我们判断是否有一个方案,使得每一行i都有列上满足i位置是1行来跟他匹配。 显然这是个二分图匹配(列->行),直接建图跑Dinic即可。 ...
分类:
其他好文 时间:
2019-07-28 09:20:19
阅读次数:
105
分块太暴力惹... 没做出来。看了题解qaq 分析: 两头$sqrt(n)$暴力维护 预处理ans[i][j],sum[i][j] sum[i][j]是一个前缀和,前i块值为j的数量 ans[i][j]表示第i块到第j块的答案总和 询问的时候先做两头,最后把ans[][]加上去就好了! 主要难点在预 ...
分类:
其他好文 时间:
2019-07-27 17:03:21
阅读次数:
101
1.它是限流算法中最简单最容易的一种算法 计数器实现限流 每分钟只允许10个请求 第一个请求进去的时间为startTime,在startTime + 60s内只允许10个请求 当60s内超过十个请求后,拒绝,不超过,到第60s 重新设置时间 它是限流算法中最简单最容易的一种算法,比如我们要求某一个接 ...
分类:
其他好文 时间:
2019-07-26 19:10:46
阅读次数:
100
题面 DP[X][Y] X表示考虑到第几位,Y考虑到这个数的前一个数什么,状态保存从此状态出发达到完成结果的方案数(大概意思理解到就好)。 ...
思路:判断各种边界条件。 1)首先过滤字符串前面的空格,即找到第一个不为空格的字符; 2)如果第一个字符是+或-,设置flag值; 3)接下来的字符如果在'0' - '9' 范围内,则转换为数字,否则结束循环; 注意上一步中,如果结果已经大于INT_MAX或小于INT_MIN,则直接返回INT_MA ...
分类:
其他好文 时间:
2019-07-25 23:13:49
阅读次数:
113
题意:给出一张含有n(n<20)个点的完全图,求从0号节点到第n-1号节点的最短Hamilton路径。Hamilton路径是指不重不漏地经过每一个点的路径。 算法进阶上的一道状压例题,复杂度为O(n^2 * 2^n),还是蛮恐怖的。 设f[i][j]表示当前经过状态为i,且当前在点j所花费的最小代价 ...
分类:
其他好文 时间:
2019-07-25 17:43:11
阅读次数:
243
题目链接 "传送门" 思路 首先我们对$a$正反各跑一边$LIS$,记录每个位置在前一半的$LIS$中应该放的位置$ans1[i]$,后一半的位置$ans2[i]$。 对于字典序最小的方案,我们找到第一个峰值,然后往前遍历。在$i$这个位置,如果它在$LIS$中放的位置是$pos$,那么我们先看当前 ...
分类:
其他好文 时间:
2019-07-24 19:34:45
阅读次数:
175
从第3行到第6行,看出此脚本的执行目录是在上一层目录。 sos-ci git:(master) cat -n start-ci.sh 1 #!/bin/bash 2 3 mkdir sos-data 4 5 cd sos-ci 6 ./set-env-to-vars.sh 7 8 COUNTER=0 ...
分类:
其他好文 时间:
2019-07-24 18:00:42
阅读次数:
128