摘要:
网络编程就是编写程序使两台联网的计算机相互交换数据。这就是全部内容了吗?是的!网络编程要比想象中的简单许多。 那么,这两台计算机之间用什么传输数据呢?首先需要物理连接。如今大部分计算机都已经连接到互联网,因此不用担心这一点。 在此基础上,只需要考虑如何编写数据传输程序。但实际上这点也不用愁,因为操作 阅读全文
摘要:
PepperLa's Boast(单调队列优化二维dp) 题意:一个人在(1,1)点处,由于这个n*m的二维空间着火了,他要从(1,1)点逃到(n,m)点。给出 n*m 矩阵内每一个坐标的的值代表这里的空气,限制是空气小于等于零的地方不能呼吸。这个人的每一步只可以走到三个方向:(x+1,y+1) o 阅读全文
摘要:
理想的正方形 题解: 用单调队列分别维护行与列。 这里只讲求 n*n 区间内的最大值的维护方法,最小值同样的方法维护即可。 具体实现方法: 遍历每一行,从上到下维护每一列的每一段n长度内的最大值,得到y_max数组; 之后遍历y_max数组,也是遍历每一行,不过这时候要从左到右维护了,也就是行内维护 阅读全文
摘要:
How Many to Be Happy? (最小生成树进一步理解 + 最小割) 最小生成树:MST性质(学习博客:here) 题解:我们想让某一条边一定是最小生成树中的边,只要找到任意一种点集的分配,使得这条边的两个顶点在不同的分配中且边权是连接这两个分配的所有边中最小的那一个。显然只有边权比它小 阅读全文
摘要:
分组背包问题 二维: 1 #include <bits/stdc++.h> 2 using namespace std; 3 typedef long long ll; 4 const int maxn = 110; 5 6 int dp[maxn][maxn];//dp[i][j]:只从前i组物品 阅读全文
摘要:
混合背包问题 二进制优化代码,具体见代码: 1 #include <bits/stdc++.h> 2 using namespace std; 3 typedef long long ll; 4 const int maxn = 1000010; 5 const int mod = 1e9+7; 6 阅读全文
该文被密码保护。 阅读全文
摘要:
皇宫看守(树形dp) 题解: 不同于战略游戏那道题要求每边有人看守,即只能靠自己或者靠儿子,本题要求每个点有人看守,即对于点root可以靠自己靠儿子或靠父亲 设dp[root][0/1/2]表示0靠自己1靠爸爸2靠儿子 root靠自己可以从儿子的三种状态转移,但是要加上自己设看守的费用 root靠爸 阅读全文
摘要:
数字计数(数位dp) 细节见代码: 1 #include <bits/stdc++.h> 2 using namespace std; 3 typedef long long ll; 4 const int maxn = 20; 5 const int mod = 1e9+7; 6 7 ll l,r 阅读全文
摘要:
数字游戏 WA_Code: 1 #include <bits/stdc++.h> 2 using namespace std; 3 typedef long long ll; 4 const int maxn = 15; 5 const int mod = 1e9+7; 6 7 ll l,r; 8 阅读全文