传送门 题解可以参见zjjzjjzjj神仙的,写的很清楚. 代码: #include<bits/stdc++.h> #define ri register int using namespace std; typedef long long ll; const int mod=1e9+7; inline int add(const int&a,const int&b){return a+b>=mod?a+b-mod:a+b;} inline int dec(const i…
BZOJ 洛谷 \(Description\) 给定\(n,m,c\).\(Q\)次询问,每次询问给定\(2*c\)的模板串,求它在多少个\(n*m\)的棋盘中出现过.棋盘的每个格子有三种状态. \(n\leq 100,m\leq 12,c\leq 6,Q\leq 5\). \(Solution\) 模板串只有\(2\)行,把它拆成两个串,考虑轮廓线DP. 对于\((i,j)\)这个格子,只需要考虑\((i-1,j)\)是否匹配了模式串的第一行,\((i,j)\)匹配到模式串第二行的哪. 所以令…
国际惯例的题面:这种题目显然DP了,看到M这么小显然要状压.然后就是具体怎么DP的问题.首先我们可以暴力状压上一行状态,然后逐行转移.复杂度n*3^m+3^(m*2),显然过不去. 考虑状态的特殊性,每个位置是黑子白子我们并不关心,我们只关心与模板的匹配情况.于是我们可以f(i,S,x,y)表示我们决策到i行j列,S表示上一行哪些位置和这一行哪些位置能与模板第一行完全匹配,x表示当前行与模板第一行匹配长度,y表示当前行与模板第二行匹配长度.转移的话就枚举当前行下一个位置填什么颜色棋子(或空着)即…
传送门 题意:给你一棵带点权的树,多次询问路径的最大异或和. 思路: 线性基上树?? 倍增维护一下就完了. 时间复杂度O(nlog3n)O(nlog^3n)O(nlog3n) 代码: #include<bits/stdc++.h> #define ri register int #define fi first #define se second using namespace std; typedef long long ll; const int rlen=1<<18|1; i…
传送门 题意: 给你n个字符串,不同的排列有不同的代价,代价按照如下方式计算(字符串s的位置为x): 1.排在s后面的字符串有s的后缀,则代价为n^2: 2.排在s前面的字符串有s的后缀,且没有排在s后面的s的后缀,则代价为x-y(y为最后一个与s不相等的后缀的位置): 3.s没有后缀,则代价为x. 求最小代价和. 思路:显然把所有字符串倒序建一个trietrietrie树出来. 然后在上面贪心每次走sizesizesize最小的子树最优. 代码: #include<bits/stdc++.h>…
TMUX天下第一 全世界所有用CLI Linux的人都应该用TMUX,我爱它! ======================== 以下是正文 ======================== Linux下面常用的搜索命令有这些:find locate grep which whereis.其中在我用的SuSE上,并没有locate,所以也不能用它神奇的手动更新数据库和"高速"索引查找,而grep是文字查找命令(但是配合某些命令共同执行有奇效).下面我们来看一看他们都是干嘛的 上面四个窗…
Description 近日,谷歌研发的围棋AI—AlphaGo以4:1的比分战胜了曾经的世界冠军李世石,这是人工智能领域的又一里程碑. 与传统的搜索式AI不同,AlphaGo使用了最近十分流行的卷积神经网络模型.在卷积神经网络模型中,棋盘上每一 块特定大小的区域都被当做一个窗口.例如棋盘的大小为5×6,窗口大小为2×4,那么棋盘中共有12个窗口.此外 ,模型中预先设定了一些模板,模板的大小与窗口的大小是一样的.下图展现了一个5×6的棋盘和两个2×4的模板 .对于一个模板,只要棋盘中有某个窗口与…
传送门 题意简述:给一个n∗mn*mn∗m的网格图,有的格子不能走,有的格子只能竖着走,有的格子只能横着走,问用一条回路覆盖所有能走的格子的方案数. 思路: 就是简单的轮廓线dpdpdp加了一点限制而已,考虑几个特判. 只能横着走的,限制它必须有左插头,必须没有上插头 只能竖着走的,限制它必须有右插头,必须没有左插头 然后就差不多了. 然后博主这个废柴因为hash表写错了一个地方调了1h 代码: #include<bits/stdc++.h> #define ri register int #…
传送门 题意简述:给一个n*m的带权矩阵,求从左上角走到右下角的最大分数,每个格子只能经过最多一次,n,m≤9n,m\le9n,m≤9. 思路: 考虑轮廓线dpdpdp,但这道题并没有出现回路的限制因此需要一点巧妙地转化. 我们在加入初始值时规定第一个位置可以来一个插头,然后最后统计到最后一个点的时候特判有没有多余的插头即可. 注意在转移过程中如果有连上两个插头刚好会产生回路的状态要舍弃掉. 代码: #include<bits/stdc++.h> #define ri register int…
1.Algorithm - at least one leetcode problem per week(Medium+) 986. Interval List Intersections https://leetcode.com/problems/interval-list-intersections/  Medium Basic sorting and one time scan, be sure to process the start and end of each interval,…
1.zabbix支持的通讯方式 1)agent:专用的代理程序,首推: 2)SNMP:  3)SSH/Telnet:  4)IPMI,通过标准的IPMI硬件接口,监控被监控对象的硬件特性. 2)zabbix组件: zabbix agent:部署在被监控主机上,负责收集被监控主机的数据,并将数据发送给zabbix server: zabbix server:负责接收到agent的消息数据,并负责组织配置信息,统计信息,操作数据等: zabbix databse:用于存储所有zabbix的配置信息.…
传送门 题意:给一棵大树,令一棵模板树与这棵树相同,然后进行mmm次操作,每次选择模板树中的一个节点aaa和大树中一个节点bbb,把aaa这棵子树接在bbb上面,节点编号顺序跟aaa中的编号顺序相同. 最后有qqq次询问问大树上两点距离. 思路: 真·树套树 把每棵树所成一个点,然后相当于先把两个点跳到一个块中再求它们的lcalcalca,可以用主席树维护块中编号第kkk大来维护块中对应点,实现块于块之间的跳跃可以用倍增 #include<bits/stdc++.h> #define ri r…
传送门 题意简述: 给一个括号序列,要求支持: 区间覆盖 区间取负 区间翻转 查询把一个区间改成合法括号序列最少改几位 思路: 先考虑静态的时候如何维护答案. 显然把所有合法的都删掉之后序列长这样: ))...)))(((...(())...)))(((...(())...)))(((...(( 于是可以给(((赋值成−1-1−1,)))赋值成111,这样只用维护前缀最大值aaa和后缀最小值bbb. 然后就可以知道答案是⌊a+12⌋+⌊−b+12⌋\left\lfloor\frac{a+1}2\…
题意简述: 思路: 直接考虑把人和物品都看成二维平面上面的a,ba,ba,b两类点,然后一个aaa和bbb匹配的条件是xa≤xb&&ya≤ybx_a\le x_b\&\&y_a\le y_bxa​≤xb​&&ya​≤yb​,要求最后选出的bbb的横坐标之和最小. 这样的话,我们把a,ba,ba,b两类点分别按照xxx坐标排序,然后用类似归并排序的方法贪心选就行了. 贪心策略:从所有能够跟当前的bbb匹配的aaa类点中选一个yyy坐标最大的出来. 用setse…
Git简介: Git是一个分布式版本控制软件. 背景故事: Linus在1991年创建了开源的Linux. 在2002年以前:世界各地的志愿者把源代码文件通过diff的方式发给Linus,然后Linus本人通过手工方式合并代码. 2002年-2004年:(商用版本控制软件)BitKeeper的东家BitMover公司授权Linux社区免费使用这个版本控制系统. 2005年:Linus花了两周时间自己用C写了git(一个分布式版本控制软件). 2008年:GitHub网站上线了,它为开源项目免费提…
所谓三级联动就是,一层接着一层,根据上一层的选择给出这一层的结果 如选择市之后,会给出相应的区,然后到相应的县这就是联动 配置视图 ​from django.core import serializers​def showMenuInfo(request):   pid = request.GET.get('pid',-1)   pid = int(pid)   areaList = Area.objects.filter(parentid=pid)   jAreaList = serializ…
传送门 题意简述:给一个m*n的矩阵,每个格子有权值V(i,j) (可能为负数),要求找一条路径,使得每个点最多经过一次且点权值之和最大. 思路:我们将求回路时的状态定义改进一下. 现在由于求的是路径说明有可能出现单插头的情况,于是我们用四进制表示,000对应无插头,111对应左括号插头,222对应右括号插头,333对应单插头. 然后多了一些很多转移,于是我把找左右插头的函数给封装了起来 . 细节较多各位慢慢写吧. 然后由于写的hashhashhash表之类的常数太大的主要是懒得写数组转移了导致…
传送门 题意简述:给一个没有障碍的网格图,任意两个格子连通需要花费一定代价,现在求一条覆盖所有格子的哈密顿回路的总权值的最小值. 思路: 跟这道题一毛一样,除了把求和变成求最小值以外. 代码: #include<bits/stdc++.h> #define ri register int using namespace std; inline int read(){ int ans=0; char ch=getchar(); while(!isdigit(ch))ch=getchar(); w…
题目传送门 看到 \(m\le 12\) 和 \(c\le 6\) ,容易想到状压 DP 考虑转化成 \(3^{nm}\) 减去不合法的方案数,轮廓线 DP :\(f[i][j][S][k][h]\) 表示 DP 到了第 \(i\) 行第 \(j\) 格,轮廓线上 \(m\) 格的状态为 \(S\) 的方案数,\(k\) 表示最大的 \(x\) 使得模板矩阵第一行的前 \(x\) 个字符和目标矩阵第 \(i-1\) 行的后 \(x\) 个字符相同,\(h\) 表示最大的 \(x\) 使得模板矩阵…
题目描述 近日,谷歌研发的围棋AI—AlphaGo以4:1的比分战胜了曾经的世界冠军李世石,这是人工智能领域的又一里程碑. 与传统的搜索式AI不同,AlphaGo使用了最近十分流行的卷积神经网络模型.在卷积神经网络模型中,棋盘上每一块特定大小的区域都被当做一个窗口.例如棋盘的大小为5*6,窗口大小为2*4,那么棋盘中共有12个窗口.此外,模型中预先设定了一些模板,模板的大小与窗口的大小是一样的. 下图展现了一个5*6的棋盘和两个2*4的模板. 对于一个模板,只要棋盘中有某个窗口与其完全匹配,我们…
Description \(n,m<=1e4,mod ~1e9+7\) 题解: 显然右边那个图形只有旋转90°和270°后才能放置. 先考虑一个暴力的轮廓线dp: 假设已经放了编号前i的骨牌,那么这些骨牌形成的图形一定是杨表那样的. 对轮廓线来考虑,不妨设1表示向上走,0表示向右走. 初始状态是:111-(n个1)000..(m个0) 那么四种转移为: 1110->0111 1000->0001 1010->0011 1100->0101 这样暴力dp应该能过n,m<=…
跟上面那篇轮廓线dp是一样的,但是多了两个条件,一个是在原图上可能有些点是不能放的(即障碍),所以转移的时候要多一个判断color[i][j]是不是等于1什么的,另外一个是我们可以有多的1*1的骨牌,1*1的骨牌使用数量一定要在[c,d]之间,所以状态加多一维,转移的时候多一种情况(放1的).那么怎么初始化呢?有两种方法,一种是dp[0][0][d]=1,最后的答案的因为一定要用[c,d]之间,所以答案是dp[(t+1)&1][0][0~d-c].另外一种是dp[0][0][c~d]=1,最后答…
Description 近日,谷歌研发的围棋AI-AlphaGo以4:1的比分战胜了曾经的世界冠军李世石,这是人工智能领域的又一里程碑.与传统的搜索式AI不同,AlphaGo使用了最近十分流行的卷积神经网络模型.在卷积神经网络模型中,棋盘上每一块特定大小的区域都被当做一个窗口.例如棋盘的大小为5×6,窗口大小为2×4,那么棋盘中共有12个窗口.此外,模型中预先设定了一些模板,模板的大小与窗口的大小是一样的.下图展现了一个5×6的棋盘和两个2×4的模板.对于一个模板,只要棋盘中有某个窗口与其完全匹…
补了一发轮廓线DP,发现完全没有必要从右往左设置状态,自然一点: 5 6 7 8 9 1 2 3 4 如此设置轮廓线标号,转移的时候直接把当前j位改成0或者1就行了.注意多记录些信息对简化代码是很有帮助的,尤其对于我这种代码经常错的一塌糊涂的人来说.. 呆马: POJ 3254 Corn Fields #include <iostream> #include <cstdio> #include <algorithm> #include <cstring> #…
第一道轮廓线dp,因为不会轮廓线dp我们在南京区域赛的时候没有拿到银,可见知识点的欠缺是我薄弱的环节. 题目就是要你用1*2的多米诺骨排填充一个大小n*m(n,m<=11)的棋盘,问填满它有多少不同的方法. 一个可行的解法就是轮廓线dp. 假设我们从上往下,从左往右去填,那么我们会发现,假如我们当前填的是(i,j)格的时候,在它前面的(i',j')其实是已经确定一定填了的,所以实际上没有填的时候处于轮廓线的部分,在这里没有具体 1 1 1 1 1 1 x x x x             如上…
其实这题还能用状压DP解决,可是时间达到2000ms只能过掉POJ2411.状压DP解法详见状压DP解POJ2411 贴上POJ2411AC代码 : 2000ms 时间复杂度h*w*(2^w)*(2^w) #include <cstdio> #include <cmath> #include <algorithm> #include <cstring> #include <utility> #include <string> #inc…
题目链接: [集训队作业2018]小Z的礼物 题目要求的就是最后一个喜欢的物品的期望得到时间. 根据$min-max$容斥可以知道$E(max(S))=\sum\limits_{T\subseteq S}^{ }(-1)^{|T|-1}E(min(T))$ 那么只需要知道每个子集中最早得到的物品的期望时间即可得出答案. 对于每个子集,最早得到的物品的期望时间就是一次选择能得到这个子集中元素的概率的倒数. 用一次选择能得到这个子集中的元素的方案数除上总方案数(每次共有$2*n*m-n-m$种选择方…
[UOJ#422][集训队作业2018]小Z的礼物(min-max容斥,轮廓线dp) 题面 UOJ 题解 毒瘤xzy,怎么能搬这种题当做WC模拟题QwQ 一开始开错题了,根本就不会做. 后来发现是每次任意覆盖相邻的两个,那么很明显就可以套\(min-max\)容斥. 要求的就是\(max(All)\),而每个集合的\(min\)是很好求的. 如果直接暴力枚举集合复杂度就是\(2^{cnt}cnt\). 仔细想想每个子集我们要知道的是什么,只需要知道子集大小来确定前面的容斥系数,还需要知道覆盖子集…
编译GO 1.6版本以上的需要依赖GO 1.4版本的二进制,并且需要把GOROOT_BOOTSTRAP的路径设置为1.4版本GO的根目录,这样它的bin目录就可以直接使用到1.4版本的GO 搭建go语言开发环境只需要: 编译go1.4版本,设置好GOROOT_BOOTSTRAP,然后再执行脚本编译安装GO1.6以上版本 有关资料: https://www.cnblogs.com/schips/p/10465706.html https://blog.csdn.net/sanallen/artic…
所属课程 软件工程1916|W(福州大学) 作业要求 Alpha冲刺(2/10)--2019.4.25 团队名称 待就业六人组 1.团队信息 团队名称:待就业六人组 团队描述:同舟共济扬帆起,乘风破浪万里航 队员信息: 队员学号 队员昵称 个人博客地址 备注 221600306 XRK http://www.cnblogs.com/XR-K/ 221600307 Yellye http://www.cnblogs.com/CloudLong/ 221600315 黎焕明 http://www.c…