[学时·III] 二分图 ■基本策略■ 其实本质是图论中的网络流 二分图是两个由多个点组成的集合(上部和下部,且没有重叠),两个集合中的点不与该集合内其他的点连通,但和另一个集合内的点连通.我们称这两个集合为上部.下部,或X.Y部,比如: 判定 我们可以通过染色的方法将一个普通的连通图转换为二分图(如果不是连通图,则说明该图存在多个二分图或不为二分图).由于X部只与Y部相连,Y部也只与X部相连,我们可以把X.Y部染成不同的颜色.通过BFS(DFS也可以)从图里的一个点开始,假设它为X部,则与它相…
1..文件上传 在springmvc.xml中配置文件上传解析器 <!-- 上传图片配置实现类,id必须为这个 --> <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <!-- 上传图片的大小 B 5M 1*1024*1024*5--> <property name…
Onunload,onbeforeunload都是在刷新或关闭时调用,可以在<script>脚本中通过 window.onunload来指定或者在<body>里指定.区别在于onbeforeunload在onunload之前执行,它还可 以阻止onunload的执行. Onbeforeunload也是在页面刷新或关闭时调用,Onbeforeunload是正要去服务器读 取新的页面时调用,此时还没开始读取:而onunload则已经从服务器上读到了需要加载的新的页面,在即将替换掉当前页…
20-27题使用的数据如表1和表2所示. 表1 教师表(TEACHER.DBF) 教师号 姓名 性别 籍贯 职称 年龄 工资/元 0001 王吉兵 男 江苏 讲师 27 2003.50 0002 张晓春 女 安徽 副教授 28 2800.50 0003 左燕 女 江苏 讲师 25 2040.00 0004 赵华 男 安徽 副教授 35 2800.00 0005 李宁 男 山东 讲师 24 2500.00 表2 讲课表(JK.DBF) 教师号 课号 学时 0001 0001 98 0002 000…
A 比特手链 简单模拟 判断 贪心 叶姐要想哥赠送一串比特手链,这个手链由0和1组成.想哥买了手链B,无意间得知叶姐想要同样长度的手链A.想哥囊中羞涩,只能手工调整手链.他希望最少通过以下操作进行最少步骤把B变成A.注意:A != B  对于一个串S: 操作1--选择下标i,j,i != j:  ·result = S[i] & S[j]  ·S[i] = result & S[i]  ·S[j] = result & S[j] 操作2--选择下标i,j,i != j:  ·res…
[学时·I]A*算法 ■基本策略■ --A*(A Star)无非就是BFS的升级,当BFS都超时的时候-- 同样以队列为基础结构,BFS使用FIFO队列(queue),而A*则使用优先队列(priority_queue).与BFS的优化极其相似,但一般的BFS优化只是相当于使用了一个最优性剪枝,偶尔不会起到足够的优化所以就TLE了. 所以A*算法改进了其优先级的判定方法,使用了一个启发函数(没错,就是这么水的名字),它可以"乐观"地预估出一个从当前状态到达目标状态的代价,且此预估值必然…
◇学时·10 & 模板·3◇ AC自动机 跟着高中上课……讲AC自动机的扩展运用.然而连KMP.trie字典树都不怎么会用的我一脸懵逼<(_ _)> 花一上午自学了一下AC自动机 QwQ ◦ Trie树 字典树的一种(听说还有其他字典树,不清楚).每个节点代表一个字母,根节点相当于超级源点,根节点不表示字母.Trie树最大的特点是从根节点出发,沿着树边向下走,走过的节点会形成一个字符串.而一些节点是某一个单词的结尾,对于这种节点,我们一般会给它做一个标记(ovr). ▪ 构建Trie树…
◆学时·IX◆ 整体二分 至于我怎么了解到这个算法的……只是因为发现一道题,明显的二分查找,但是时间会爆炸,被逼无奈搜题解……然后就发现了一些东西QwQ ◇ 算法概述 整体二分大概是把BFS与二分查找完美结合了. 它针对一种可以用二分查找(直接查找答案),但是询问很多,对于每一个询问都做二分查找会超时的问题. 由于多次询问,那么问题的答案很可能在二分的区间中比较分散,那么我们可以用BFS枚举出二分将会产生的所有区间的情况……类似于线段树: 最初区间为 [1,m] 然后从该区间再拓展出 [1,mi…
◆学时·VIII◆ 树形DP DP像猴子一样爬上了树……QwQ ◇ 算法概述 基于树的模型,由于树上没有环,满足DP的无后效性,可以充分发挥其强大统计以及计算答案的能力. 一般来说树形DP的状态定义有三种:偏简单的,dp[u]表示以u为根的子树的最优解/方案数:带选择性质的:dp[u][0/1],表示以u为根的子树中选择/不选择u的最优解/方案数:dp[u][i] 表示以u为根的子树中,u的状态为i的最优解/方案数(其实就是第二种定义的扩展). 一般来说题目给的是一个树形图,那么我们只需要从图中…
◆学时·VII◆ 高维DP 自学之余,偶遇DP…… ◇ 算法概述 顾名思义——一种处理多方面状态的DP,这种DP特点是……每一维的大小都不算太大(不然用dp数组存储下来内存会炸),而且枚举时容易超时……(一般来说,DP的复杂度为每一维的可取值之积.毕竟是乘积,很容易炸掉). 众所周知,除了状压DP,一般的DP都是每一维表示了一个方面的状态,因此我们需要按照一定顺序枚举状态. 高维DP的大多数题中,各个方面的状态是互相关联.影响的,因此注意状态之间的互相限制是高维DP的难点,这也导致高维DP非常费…