摘要:解题思路:DPopt[i]表示到i为止最少需要除去多少字符[代码](if msg[i]==word[k][len[k]] && msg[j+1,i]包含word[k]);NULL
阅读全文
摘要:解题思路:dp(多重背包问题)将多重背包转化为01背包,假设每个物品的数量上限为n,每件的体积为0,价值为w那么可以把该物品分为1,2,4,...,2^(k-1)和n-(2^k+1),那么新的物品就是(体积,价值):(0,w),(0,2w),...,(0,2^(k-1)w)和(0,(n-2^k+1)w)(这样可以构造出任何=n的情况,假设n为7,则分成系数为1,2和4,那么1-7的所有情况均可由1,2,4这3个基数组合得到)NULL
阅读全文
摘要:解题思路:DPg[i]表示第i个砝码的重量,c[j]表示第j个点的坐标,opt[i][k]表示加了i个砝码,力矩之和为k的方法数DP公式为(考虑到力矩为负,因此需要做偏移):[代码]第i次迭代只于i-1次有关,因此可以缩减为二维数组NULL
阅读全文
摘要:解题思路:1)首先计算0-9999之间的素数2)BFS,每次更改4位数字中的一位数字(首位数字不能为0),判断是否为素数,是且未被访问过的加入到队列里面3)队列为空,或者发现目的素数,停止NULL
阅读全文
摘要:解题思路:1)每5位为一个基数,枚举5位所有只包含0,1的数ans[],map[i][j]保存(ans[j]*100000^i)%n的值2)BFS计算所有组合出现的模,直到出现0代码
阅读全文
摘要:解题思路:1)靠左走,方向优先级为左-前-右-后2)靠右走,方向优先级为右-前-左-后2)最短路,广度优先NULL
阅读全文
摘要:解题思路:深度优先搜索,考虑到字典顺序,需仔细设计方向顺序bad
阅读全文
摘要:解题思路:trie树+并查集(判断是否属于同一集合)+欧拉通路判断代码
阅读全文
摘要:解题思路:基于最小堆实现HaffmanNULL
阅读全文
摘要:解题思路:枚举两个顶点作为对角边,计算正方形另一对角边的两个顶点,查找这两个顶点是否都存在此思路中每个正方形均会计算两次,所以最后结构需要/2NULL
阅读全文
摘要:解题思路:hash+枚举0 0 0 0 0 输出 1e10,因此需要64位整数某一系数为0,做一点优化NULL
阅读全文
摘要:解题思路:独立概率事件,因此可以分别计算概率首先计算所有队伍解决题目=1的联合概率P0,计算所有队伍解决题目个数在[1,n-1]区间的联合概率Pndp求解每个队伍解题概率:dp[i][j]表示i题时解决j道题的概率,dp方程为[代码]欢迎review
阅读全文
摘要:解题思路:hash统计到当前位置为止,各位上出现1的个数,相对于最小次数的差值比较出现相同差值序列的最长距离即可欢迎指教
阅读全文
摘要:解题思路:并查集并查集的思想与POJ1182 食物链相同枚举所有Judge ID 情况: 如果有且仅有一个ID没有产生矛盾,则说明该ID即为Judge,且发现的最初回合为其余首次发现矛盾回合的最大值 如果没有ID产生矛盾,输出Can not determine 如果有一个以上ID产生矛盾,输出Impossible欢迎指教
阅读全文