本质上是一个状态机模型,因为对于每个来说,只有可能存在一个篮子是由同一堆中的不同颜色构成,否则都可以转化为这一类。 因此我们枚举f[i][j]为前i个,红色果实剩余j个,之后选择是否选择产生这种的篮子进行dp转化 #include<bits/stdc++.h> using namespace std ...
分类:
其他好文 时间:
2020-07-26 01:46:59
阅读次数:
61
[编程题] JZ65 矩阵中的路径 题目描述 输入输出案例 参考 参考 思路 使用回溯、递归、枚举的思想 代码 class Solution { public boolean exist(char[][] board, String word) { //用于标记是否已经被访问的二维数组 boolea ...
分类:
其他好文 时间:
2020-07-26 01:43:42
阅读次数:
65
题目链接:http://poj.org/problem?id=3666、 题目给出一个序列a,要求给出一个序列b使得两个数列每一项相减的绝对值之和最小,这里有一个重要的性质:存在一个满足条件的b,其中的数在a中都出现,可以通过数学归纳法去证明。 然后就是dp的转移,前i个数设定好,并且第i个数是第j ...
分类:
编程语言 时间:
2020-07-26 01:36:04
阅读次数:
88
var obj={ name:"zzz", age:11, sex:"mal"} for(var pro in obj){ console.log(pro) console.log(obj.pro)//undefined (因为底层转化为obj["prop"],所以把prop当成了属性,于是打印un ...
分类:
其他好文 时间:
2020-07-26 01:33:12
阅读次数:
57
题目大意 题目: 大致题意: 给定n个左闭右开的区间,选出尽量多的区间使得这些区间两两不交,求最多能选多少个。 思路解析 按照区间右端点升序排序,依次枚举各个区间,若与上一个被选区间无交集,那么就将这个区间选中。 为什么要用右端点升序呢?因为这样子的话留给后面时间就多了。 程序注释 #include ...
分类:
其他好文 时间:
2020-07-26 01:23:28
阅读次数:
55
##A. string 对于这类字符串匹配题,有个套路是直接用 \(FFT\) 优化。 然后发现这题字符集很小,所以枚举一个字符,将匹配串中的这个字符设为 $1$,模式串中的非这个字符设为 $1$。 然后用一些技巧优化一下,就可以用 \(|\sum|+1\) 次长度为 \(n\) 的 \(DFT\) ...
分类:
其他好文 时间:
2020-07-26 01:19:58
阅读次数:
62
题目描述 原题来自:POJ 2752
给定若干字符串(这些字符串总长 ≤4×10^5),在每个字符串中求出所有既是前缀又是后缀的子串长度。 ...
分类:
其他好文 时间:
2020-07-26 01:15:34
阅读次数:
49
看一下C++风格的串流控制,C++引入了ostringstream、istringstream、stringstream这三个类,要使用他们创建对象就必须包含sstream.h头文件。 istringstream类用于执行C++风格的串流的输入操作。 stringstream类同时可以支持C++风格 ...
分类:
其他好文 时间:
2020-07-26 00:37:50
阅读次数:
55
对于已知个数的集合来说,枚举其非空子集的最简单方法是二进制枚举法 void print_subset(int n,int s) { for(int i=0;i<n;i++) { if(s&(1<<i)) { printf("%d ",i); //事实上i输出的是集合的数组标号 } } cout<<e ...
分类:
编程语言 时间:
2020-07-25 09:38:01
阅读次数:
68
枚举类类型也是一个类,是一个Enum的一个子类,它的最终父类也是Object类,下面是枚举类行中一些特性。 1、不能被继承,也不能继承别的类 2、可以实现接口 3、构造器是私有的 例子: 定义: public enum Gander { MALE, FEMALE, UNKNOW("不确定"); // ...
分类:
编程语言 时间:
2020-07-25 09:31:01
阅读次数:
66