看题目的Hint 图形就知道题意了,对着图形,稍微观察一下就会发现,每一层需要的卡牌数目为 2 * n + (n - 1)个,然后大致就有个思路,暴力枚举,但是仅仅这样没法子枚举,这个公式 只代表其中一层,不可能对每一层都枚举吧,可以化简一下 公式就是 3 * n - 1,这样就会发现 每次差1就是3的倍数了,然后每一层都差1,如果有i层的话,那么其实就是差了i,这样就很容易想到了,假设共有卡牌...
分类:
其他好文 时间:
2015-03-18 23:28:37
阅读次数:
351
题意:
在4*4的格子中有9个窗口,窗口会覆盖它之下的窗口,问是否存在一个窗口放置的顺序使得最后的结果与输入相同。
分析:
在数据规模较小且不需要剪枝的情况下可以暴力(思路清晰代码简单),暴力一般分为枚举子集(for(s=0;s
代码:
//poj 2585
//sep9
#include
#include
using namespace std;
int order[10];
in...
水题,直接贴代码。
//poj 1406
//sep9
# include
using namespace std;
__int64 f1[2024];
__int64 f2[3024];
int main()
{
__int64 index1=0,index2=0,n;
for(index1=0;index1<1300;++index1)
f1[index1]=index1*index...
分类:
其他好文 时间:
2015-03-18 07:51:27
阅读次数:
166
本题的误区是用位运算法,位运算法基数太大暴力枚举肯定超时。。。#include using namespace std;int Count(int n){int ans = 0;while(n){ans += n & 1;// n 与 1,判断第一位是0还是1 n >>= 1;// 向右移1位 ,相...
分类:
其他好文 时间:
2015-03-18 01:02:03
阅读次数:
191
题目大意:树上拉灯游戏
高斯消元解异或方程组,对于所有的自由元暴力2^n枚举状态,代入计算
这做法真是一点也不优雅。。。
#include
#include
#include
#include
#define M 110
using namespace std;
int n,m;
int f[M][M],is_free[M],tot;
int ans[M],cnt;
void Gau...
分类:
其他好文 时间:
2015-03-17 14:17:49
阅读次数:
127
我们只要暴力枚举块的大小就可以了。。。枚举的总复杂度是O(n / 1 + n / 2 + n / 3 + ...) = O(n * logn)的何如去重呢。。。直接暴力hash再丢进set里搞定,总复杂度O(n * log2n) 1 /********************************...
分类:
其他好文 时间:
2015-03-10 23:04:32
阅读次数:
191
数据范围较小,暴力枚举全排列就行
//
// main.cpp
// uva216
//
// Created by Fangpin on 15/3/8.
// Copyright (c) 2015年 FangPin. All rights reserved.
//
#include
#include
#include
#include
#include
#include
...
分类:
其他好文 时间:
2015-03-09 17:39:25
阅读次数:
125
照例传送门CNUOJ - 0385:http://oj.cnuschool.org.cn/oj/home/problem.htm?problemID=355题目分析:首先感谢”数据结构与算法“群群友的支持与鼓励,没有你们的点拨&鼓励我不可能搞出来的。这道题如果是暴力枚举循环节的话,可能数据会坑你一下...
分类:
其他好文 时间:
2015-03-08 20:05:16
阅读次数:
180
第一种:暴力枚举所有的子数组,然后比较选出最大,时间复杂度O(n^2)第二种:分治法,参见算法导论,时间复杂度O(nlogn)第三种:动态规划,时间复杂度O(n)1、A[1..j+1]的最大子数组为:max{A[1..j] , A[i,j+1](10?A[j+1]+K[j]:A[j+1](以A[j+...
分类:
编程语言 时间:
2015-03-08 15:37:45
阅读次数:
156