03 2019 档案
摘要:这道题以前写过 但没写出来吧 一个普通的01背包 但是有一些物件需要在买过前置物件后才能购买 所以我们用一个vector来存放该背包与其后置的物件 这样写可以做后置物件多于两个的情况 但多于两个时复杂度会很高 O(n!)的复杂度 ~~正解应该是树形背包了就~~ cpp include include
阅读全文
摘要:幻想迷宫 今天又抄了几篇题解,来复习下 题意是有一个无限重复的迷宫,由相同的子迷宫构成,如果可以走无穷远,yes,否则no. 所以一开始想的是如果当前位置x,y距离sx,sy 横坐标大于n或纵坐标大于m即可走无穷远 但其实是错的 正解应该是一个点经过了两次就可以走到无穷远(走两次就可以走无穷次) c
阅读全文
摘要:一道快速幂,因为忘记处理时 +modp 而产生负数错误,在此记录 题目大意 给出一颗生成树,树边有红边与黑边两种. 定义一个好的长度为k的序列为 其中相邻两个点可以不相邻,则经过一条最短路径走到. 从走到至少经过一条黑边. 其中允许$a
阅读全文
摘要:大佬说博客要打完趁热写... 题目大意 给出两个字符序列,可包含小写字母与'?',相同的字母可以匹配,而可以'?'与任意字符匹配。 求最大的匹配,并将每个匹配的两个字母位置输出 思路 将字符存入对应vector中,优先匹配非'?'的字符. Code: cpp include define ll lo
阅读全文
摘要:最近在学线程,在加上操作系统也在学线程,于是乎有了这篇文章 问题描述: 一群生产者进程在生成产品,并将这些产品提供给消费者进程去消费. 他们之间有一个公共的缓冲区用来存放产品,当产品为空时消费者不能消费,当产品为满时生产者不能生产 CPP实现 利用mutex 互斥量 来对缓存区的操作进行加锁 #in
阅读全文
摘要:三天的旅途 来到了青岛 青岛感觉还是很舒服的 心情也没有来之前那么紧张 反而更多的是兴奋吧 自己第一次的区域赛 也没有想过能来吧 就抱着经历的心态 ~~所以连三题都没过到~~ 我们,我是真的菜 对不起 总结一下 1. 赛前太过兴奋 没有进入状态 (我感觉)~~拿到题根本没感觉~~ 2. 读题能力不强
阅读全文
摘要:比赛前来一发 近期写的几个入门dp~~都不会~~的转移方程 p1280 在1~N的区间中有若干个任务,求出最大的空闲时间 反向递推 dp[i]为当前时间点的最大空闲时间 如果当前时间的任务数为0 如果当前时间的任务数大于零 $$dp[i] = max(
阅读全文
摘要:博弈论 如果a/b =2则先手必胜,否则就对(b,a b)的情况取反 a可以整除b的时候也是必赢的 要保证a b cpp include define ll long long using namespace std; ll a,b; int main() { while(cin a b) { if
阅读全文
摘要:这是一道树形dp的题 最近有点想学dp但各种高深操作还是学不来 题目大意是给你一颗树,在树的节点上放置士兵,需要用最少的士兵来沾满所有的边. 由于每个节点只有放士兵和不放士兵两个状态且子节点的来源与当前节点没有关系,(儿子的儿子放不放并不影响父亲)就满足了dp的条件~~吧~~ cpp include
阅读全文
摘要:第一次熬夜打cf,感觉确实脑子不灵光了. 再加上边界条件确实考虑不周全. 写下我的wa题思路吧 B 题意: 一排洞,每个洞下面有一个金币,上面有一个石头,需要将所有的金币取出,且只有将石头移开才能取金币 移动,移动石头,取金币都花费1 思路: 根据暴力加模拟的思想,分析样例可知在经历过前两个洞之后,
阅读全文
摘要:XML 标签与属性 基本元素 为叶标签 与内部文本 标签内可以加入属性 JSON 对象和数组 json 更为简单, 基本属性为 K:V 键值对 但会丢失顺序性
阅读全文
摘要:最小生成树 用最小的代价将图中的每一个点联通 我们有两种基于贪心策略的算法 Prim 1. 初始化一点作为根节点 2. 选择权值最小的与当前联通块相连的点加入到联通块中 3. 如果图未遍历完成 则返回 2 Kruskal 1. 初始化图中所以的边 并按权值进行排序 2. 遍历边的数组 如果当前边所连
阅读全文
摘要:kmp算法 通过预处理出next表 将字符串匹配复杂度降为O(n+m) 在串与模式匹配的过程中 串下标永远向前走,而模式下标则通过next进行回溯比较, next[0] = 1 是特殊的位置,当回溯到 1时说明当前串与模式无法匹配,需要移动串下标 而在构造next数组的过程中 相当于进行了自身与自身
阅读全文
摘要:带权并查集是记录该父亲有多少子孙 在合并时优先将子孙少的合并到子孙多的上面 这题需要多加一个当前列的个数 用来更新两战舰中间的差值 cpp //ios::sync_with_stdio(false); include define ll long long using namespace std;
阅读全文
摘要:groovy 基础语法 groovy 是基于jvm 的开发语言,既可以面对对象 也有脚本语言的特性 1. 基本特性 属性,方法默认为public 分号可选 2. 特性 自动数据类型 可选括号 字符串 集合 assert 语句 大概意思就是一段大括号括起来的就是闭包QAQ 详情请看 "闭包简介" 在A
阅读全文