本文只做总结性说明 2 SAT 2 SAT是k SAT问题的一种,k SAT问题在$k =3$时已经被证明是NP完全问题 2 SAT问题定义比较简单 有n个布尔变量$x_1 x_n$。给出$m$个限制关系,每个关系最多只对两个变量进行限制。求一组取值使得满足所有限制。 这里的限制例如:选$A$必选$
前言 在c++的STL中,提供了一种hash函数,其用法和map是几乎一样的,但是速度却能快接近一倍 使用方法 需要的头文件 函数声明方式 cc_hash_table是拉链法 gp_hash_table是查探法 查探法要快一些,个人推荐用查探法。 实测
欧拉回路与欧拉路径 如果图G中的一个路径包括每个边恰好一次,则该路径称为欧拉路径(欧拉通路)。 如果一个回路是欧拉路径,则称为欧拉回路(Euler circuit)。 说的直白点,欧拉回路就是从一个点出发,经过每一条边恰好一次,最后能回到这个点的路径 例如下图中的红色路径组成了一个欧拉回路 存在条件
本篇博客存在非常大的概念上的错误(算法没有错误) 更正的版本在这里 http://www.cnblogs.com/zwfymqz/p/8480552.html http://www.cnblogs.com/zwfymqz/p/8480429.html 对此,我表示深深地抱歉 在学习无向图的强联通分量
mt19937 当你第一眼看到这玩意儿的时候 肯定禁不住吐槽:纳尼?这是什么鬼? 确实,这个东西鲜为人知,但是它却有着卓越的性能 简介 mt19937是c++11中加入的新特性 它是一种随机数算法,用法与rand()函数类似 但是具有速度快,周期长的特点(它的名字便来自周期长度:2^19937 1)
如果让你求区间第$k$大,你会怎么做呢? 主席树?确实是个不错的选择(不过像我这种垃圾还是乖乖打暴力吧) 在c++的stl库中,提供了 这样一个函数 它的用法是 这样它会使a这个数组中区间$[l,r)$内的第$k$小的元素处在第$k$个位置上(相对位置) 但是它并不保证其他元素有序! 不过根据网友的
数据结构 感觉考裸的还能写一写,考dp+树套树啥的就直接弃疗了 平衡树 ST表 带修改莫队 树链剖分 区间平衡树 线段树 树状数组 左偏树 树套树 树的直径 树的重心 01Trie树 字符串 考后缀平衡树后缀自动机AC自动机啥的直接弃疗,毕竟还是太弱了 或许可以用hash水一水? 后缀数组 hash
发现自己学的一直都是假的ST表QWQ。 ST表 ST表的功能很简单 它是解决RMQ问题(区间最值问题)的一种强有力的工具 它可以做到$O(nlogn)$预处理,$O(1)$查询最值 算法 ST表是利用的是倍增的思想 拿最大值来说 我们用$Max[i][j]$表示,从$i$位置开始的$2^j$个数中的
华北电力大学可以抽象为一张有n个点m条边的无向图. 现在所有的边都断了. 修复每条边都有个不同的代价w_i. 求让所有点都能互相到达的最小代价和.
很少人知道其实奶牛非常喜欢到洞穴里面去探险。 洞窟里有N(1≤N≤100)个洞室,由M(1≤M≤1000)条双向通道连接着它们.每对洞室间 至多只有一条双向通道.有K(1≤K≤14)个洞室,里面放有1捆干草.牛吃1捆干草,体重指数就会增加1. 贪吃的贝茜要到洞窟里面探险.她希望能吃尽量多的干草,但每
基本定理: 首先看一下核心代码: 核心代码 原理解析: 当初我看不懂这段代码,主要有这么几个问题: 1.定理里面不是一开始写了一个n*xxx么?为什么代码里没有*n? 2.ans不是*(prime[i]-1)么?为什么到了第二个while循环变成*prime[i]了? 3.定理里面不是要/pi么?为
//参考的刘汝佳老师 1 #include 2 #include 3 #include 4 #include 5 #define Vector Point 6 using namespace std; 7 inline void read(int &n) 8 { 9 char c='+';bool flag=0;n=0; 10 while(c'9'){c=getc...
老师让我们刷历年真题, 然后漫不经心的说了一句:“你们就先做做noip2016 day1 吧” 。。。。。。 我还能说什么,,,,,老师你这是明摆着伤害我们啊2333333333 预计分数:100+25+24 实际分数:100+25+12 T1:玩具谜题 题目描述 小南有一套可爱的玩具小人, 它们各
1 #include 2 #include 3 #include 4 #include 5 #define lli long long int 6 using namespace std; 7 const lli MAXN=401; 8 const lli INF=0x7ffff; 9 inline void read(lli &n) 10 { 11 ...
【问题描述】 求关于 x 的同余方程组 x%a 1 =b 1 a1=b1 x%a 2 =b 2 a2=b2 x%a 3 =b 3 a3=b3 x%a 4 =b 4 a4=b4 的大于等于 0 的最小整数解。 【输入格式】 一行 8 个整数,表示a 1 ,b 1 ,a 2 ,b 2 ,a 3 ,b 3
下午机房断网了 闲的无聊,写了个小游戏 忘了sleep在哪个库里了。。 自带变色效果哦
自带高亮+输出对拍次数效果 自己yy的,代码可能有点繁琐 里面的颜色和文字可以自己改 具体的颜色可以在cmd中输入color /help查看
你能一眼看出这份代码在干啥么?? 1 #include <cstdio> 2 #include <cstring> 3 #define _______ for 4 #define ________ int 5 const ________ ______ = 1000050; 6 const ____
预计分数:100+100+30=230 实际分数:90+25+10=125 T1少判了一种情况,T2的贪心是错的,T3被卡了。。。 T1 模拟水题,注意20的可以用3个5块的找 1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4
预计分数:100+?+30=130+? 实际分数:100+25+30=155 T1 https://www.luogu.org/problem/show?pid=T15920 DP裸题,用dp[i][0]表示到达i,第i个位置不选,dp[i][1]表示到达i,第i个选的最大值 对于每一个询问,只有最
因为本人考试经常MLE,所以想总结一下与内存计算有关的内容 内存计算公式 内存=变量数量*变量类型所占的字节/1024/1024(M) 常见的变量类型所占的字节 如果忘记了可以使用sizeof函数查看 1 printf("%d",sizeof(a)); 常见数组大小所占的内存 所有类型均为int,单
Vector两行代码求逆序对 背景:济南集训Day7上午T2,出了一道逆序对的裸题,SB的我没看出是逆序对来,于是现场推了一个很刁钻的求逆序对的方法 首先我们想一下冒泡排序的过程,我们不难发现,对于每一个元素,我们实际上是让他不停的和前面的元素比较,交换。 也正是因为这个过程决定了在冒泡排序的过程中
个人QQ:757394026团队QQ:466373640个人博客:www.doubleq.winc++/noi/信息学奥数博客:http://www.cnblogs.com/zwfymqz 题目描述 有一天,我做了个梦,梦见我很荣幸的接到了猪八戒的邀请,到天宫陪他吃酒。我犹豫了。天上一日,人间一年啊
4:垂直直方图 4:垂直直方图 查看 提交 统计 提问 查看 提交 统计 提问 总时间限制: 1000ms 内存限制: 65536kB描述 输入4行全部由大写字母组成的文本,输出一个垂直直方图,给出每个字符出现的次数。注意:只用输出字符的出现次数,不用输出空白字符,数字或者标点符号的输出次数。 输入
3085 相同的后三位 3085 相同的后三位 时间限制: 1 s 空间限制: 256000 KB 题目等级 : 青铜 Bronze 时间限制: 1 s 空间限制: 256000 KB 题目等级 : 青铜 Bronze 时间限制: 1 s 时间限制: 1 s 空间限制: 256000 KB 空间限制
有 一 个 火 车 站 , 铁 路 如 图 所 示 ,每辆火车从 A 驶入, 再从 B 方向驶出,同时它的车厢可以重新组合。假设 从 A 方向驶来的火车有 n 节(n<=1000) ,分别按照顺 序编号为 1,2,3,…,n。假定在进入车站前,每节 车厢之间都不是连着的,并且它们可以自行移动到 B
(dropping.cpp/c/pas) Description HKD 看学弟学妹们学习辛苦,决定给发零食吃 HKD 是土豪,所以他决定买零食的时候,从 1 块钱的开始买,然后买 2 块钱的,然后 3 块钱 的,……,直至 D 块钱的。而且 k 块钱的零食买 2^(k-1)个。 但 HKD 从来不
Description Karles 和朋友到迷宫玩耍,没想到遇上了 10000000 年一次的大洪水,好在 Karles 是一个喜 欢思考的人,他发现迷宫的地形和洪水有如下性质: ①迷宫可以被看做是一个 N*M 的矩形方阵,其中左上角坐标为(1,1),右下角坐标为(n,m), 每个格子(i,j)都
l邻接表的处理方法是这样: l图中顶点用一个一维数组存储,当然,顶点也可以用单链表来存储,不过数组可以较容易地读取顶点信息,更加方便。 l图中每个顶点Vi的所有邻接点构成一个线性表,由于邻接点的个数不确定,所以我们选择用单链表来存储。 1 #include<iostream> 2 using nam
bfs dfs
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号