摘要: POJ 3076 Sudoku思路:dfs + 剪枝首先,如果这个位置只能填一种字母,那就直接填其次,如果对于每一种字母,如果某一列或者某一行或者某一块只能填它,那就填它然后,对于某个位置如果不能填字母了,或者某种字母在一行一列或一块中出向了两次以上,说明当前方案不成立最后贪心地从可选情况少的往下搜 阅读全文
posted @ 2020-04-28 21:18 Fzzf1 阅读(175) 评论(0) 推荐(0) 编辑
摘要: D题:CodeForces 1121C 题解: 由于本题数据量较小,可以采用暴力枚举时间的方法,其实就是一道模拟题,枚举秒。 记录是第几个任务,并判断记录当前任务处理到第几个测试点。 在每一秒,判断k个任务中是否有符合条件的情况出现,从而得出ans来。 注意:利用vis数组,防止重复运算。 #inc 阅读全文
posted @ 2020-02-07 15:37 Fzzf1 阅读(146) 评论(0) 推荐(0) 编辑
摘要: B CodeForces 1091D 题意:给n!个n的排列,按字典序从小到大连成一条序列,例如3的情况为:[1,2,3, 1,3,2, 2,1,3 ,2,3,1 ,3,1,2 ,3,2,1],问其中长度为n,且和为sum=n*(n+1)/2的序列有多少个? 思路:我们考虑一下next_peruma 阅读全文
posted @ 2020-02-07 15:34 Fzzf1 阅读(182) 评论(0) 推荐(0) 编辑
摘要: POJ 2279 对于题目,我们将学生按高度从高到矮安排,那么这样的话其实在每一行的层面肯定是可以保证左边比右边高的,因为前面安排的都是更高的学生。安排新的学生时,对于每一行有如下考虑:1.该行未满2.行号为1,或者该行的学生数比上一行少(这样的话,就能保证如果新插入学生,那么这个学生的高度也比上一 阅读全文
posted @ 2020-01-16 15:51 Fzzf1 阅读(139) 评论(0) 推荐(0) 编辑
摘要: https://www.cnblogs.com/xenny/p/9739600.html 阅读全文
posted @ 2019-08-12 10:48 Fzzf1 阅读(88) 评论(0) 推荐(0) 编辑
摘要: deque函数:deque容器为一个给定类型的元素进行线性处理,像向量一样,它能够快速地随机访问任一个元素,并且能够高效地插入和删除容器的尾部元素。但它又与vector不同,deque支持高效插入和删除容器的头部元素,因此也叫做双端队列。deque类常用的函数如下。 (1) 构造函数 deque() 阅读全文
posted @ 2019-06-26 16:26 Fzzf1 阅读(1535) 评论(0) 推荐(0) 编辑
摘要: isalpha函数:isalpha原型:int isalpha(int ch)用法:头文件加入#include <cctype>(C语言使用<ctype.h>)功能:判断字符ch是否为英文字母,当ch为英文字母a-z或A-Z时,在标准c中相当于使用“isupper(ch)||islower(ch)” 阅读全文
posted @ 2019-06-12 19:41 Fzzf1 阅读(1450) 评论(0) 推荐(0) 编辑
摘要: https://blog.csdn.net/c18219227162/article/details/50301513 拓展1.能否直接算出集合{1, 2, ..., m}的第n个排列? 举例说明:如7个数的集合为{1, 2, 3, 4, 5, 6, 7},要求出第n=1654个排列。 (1654 阅读全文
posted @ 2019-06-09 00:40 Fzzf1 阅读(183) 评论(0) 推荐(0) 编辑
摘要: 求输出结果。 setw(n)使得输出结果右对齐,左边默认用空格填充,如果设置了setfill,则用setfill里面的字符来填充。 如果输出选项少于n,则填充,否则不会填充,自然输出。 所以正确的结果应该是314512>>OK! 阅读全文
posted @ 2019-06-08 21:28 Fzzf1 阅读(883) 评论(0) 推荐(0) 编辑
摘要: #include int main(){ int T,i,n; long long a[66]={1,2,4,8}; scanf("%d",&T); while(T--){ scanf("%d",&n); for(i=4;i<66;i++) a[i]=a[i-1]+a[i-2]+a[i-3]+a[i-4]; ... 阅读全文
posted @ 2019-06-03 16:58 Fzzf1 阅读(215) 评论(0) 推荐(0) 编辑