题意:给一个n行m列矩阵 从第一列任意一个位置出发 每次往右 右上 右下三个方向走一格 直到最后一列 输出所类和的最小值和路径!! 最小值相同则输出字典序最小路径 很像一开始介绍的三角形dp 很明显用dp来做 但是输出路径非常麻烦 要使路径为最小字典序 对三个方向进行选择时 应该从小到大 这样就会是 ...
分类:
其他好文 时间:
2019-02-28 16:36:28
阅读次数:
161
开始就用到了c++的哈希表是真的恶心,首先学习一波基础知识https://blog.csdn.net/u010025211/article/details/46653519下面放下大佬的代码class Solution {public: vector twoSum(vector& nums, int... ...
分类:
其他好文 时间:
2019-02-25 22:00:58
阅读次数:
153
1 #include 2 #include 3 struct node 4 { 5 int data; 6 struct node*next; 7 }; 8 int main() 9 { 10 int n,i; 11 struct node*head,*p; 12 head=(struct node... ...
分类:
其他好文 时间:
2019-02-25 13:30:55
阅读次数:
119
1 #include 2 #include 3 struct node 4 { 5 int data; 6 struct node*next; 7 }; 8 int main() 9 { 10 int n,i; 11 struct node*head,*end,*p; 12 head=(struct... ...
分类:
其他好文 时间:
2019-02-25 13:18:12
阅读次数:
152
dp 首先暴力的dp式子: f[i]=min{f[j]+num(j+1,i)} 这样是n^2的 考虑优化: 代价是一段区间不同颜色的数量, 那么如果区间的颜色数量是相同的,更新长度更长的区间一定更优 那么可以用双向链表优化一下,当一个数在之前出现过的时候,就将之前出现过的位置删除掉 其实相当于离散化 ...
分类:
其他好文 时间:
2019-02-25 10:40:44
阅读次数:
172
#include using namespace std; const int maxn=1e6+10; vector g[maxn]; vector rg[maxn]; vector vs; bool vis[maxn]; int camp[maxn]; void add_edge(int x,i... ...
分类:
移动开发 时间:
2019-02-24 11:02:47
阅读次数:
219
A - Secret of Chocolate Poles 队友写的。 好像水水的。 //#pragma GCC optimize(2) //#pragma GCC optimize(3) //#pragma GCC optimize(4) //#pragma GCC optimize("unrol ...
分类:
其他好文 时间:
2019-02-22 23:03:41
阅读次数:
146
本文将探讨 socket 客户端的非阻塞式连接,连接成功后的错误判断及退出重连。 1. 连接方法 关于socket 客户端的非阻塞 connect 编程,网上找到的实现方式一般都是, 套接字创建之后,默认是阻塞式的,对其执行 connect 操作,如果服务端在监听,则会成功建立连接,但这只是理想情况 ...
分类:
其他好文 时间:
2019-02-22 16:57:40
阅读次数:
413
#include<stdio.h>#include<windows.h>#include<string.h>int main(void){ char name[32]; char password[32]; FILE*data; char name_tmp[32]; char password_tm ...
分类:
其他好文 时间:
2019-02-21 23:21:21
阅读次数:
327
数组在内存中连续排列 1 数组是可以在内存中连续存储多个元素的结构,数组中的 所有元素必须属于相同的数据类型 ? 一维数组声明的基本格式为: ? 类型 数组名[数组元素个数]; ? 比如,声明语句: ? double sz[6]; 告诉编译器3条信息:数组名是sz,存放的元素是double型,数组存 ...
分类:
编程语言 时间:
2019-02-21 12:55:01
阅读次数:
192