POJ 2531 暴力深搜】的更多相关文章

Network Saboteur Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 13494   Accepted: 6543 Description A university network is composed of N computers. System administrators gathered information on the traffic between nodes, and carefully d…
我们直接暴力的深搜怎么切就行了, 每一刀切的方案只有横着和竖着,横竖又分在几等分点切, 因为要保证每个人的面积相同,所以比较好处理了,第几个几等分点就 分给这边几刀. /**************************************************************     Problem:     User: BLADEVIL     Language: Pascal     Result: Accepted     Time: ms     Memory: kb…
思路: 呃呃 暴搜+打表 暴搜的程序::稳稳的TLE+MLE (但是我们可以用来打表) 然后我们就可以打表过了 hiahiahia 可以证明最小的那个数不会超过200(怎么证明的我也不知道),然后就直接判重就好了 打表: 打表的程序: // by SiriusRen #include <queue> #include <cstdio> #include <algorithm> using namespace std; queue<pair<int,int&g…
题意比较复杂 (但是很好理解) 大概意思是给你等边三角形(详见题目中的图). 最后一行有n个数,下一次要填的数是c. 里面预先已经填好了数字.(0为未填) 得分的标准是这个分数的连通块周围没有空的地方. 就能得到连通块大小的分. 失分是 当前块能得分,但不巧,当前块内的数字是要填的数字.就失去连通块大小的分. 求这次填块最多可以得多少分. 不能不填,即分数可以为负. 思路: 其实这个题并不难. 枚举所有没有填过的块.暴搜一遍... 搞定. // by SiriusRen #include <cs…
题意: 思路: 裸的暴搜 --. 但是要注意如果你不用所有的按键就能输出最优解的话一定要把所有的字母都安排到一个位置-. 我的一群PE就是这么来的-- 为什么写的人这么少-- // by SiriusRen #include <cstdio> #include <cstring> #include <algorithm> using namespace std; int b,l,d,mod=10000007,vis[10000007],rec[66],tot=0,cha…
题意: 给你一个邻接矩阵(n<=25)问所有1到2路径的gcd的lcm是多少. 一些经验(WA/TLE的经验): 1. 无脑暴搜 是会TLE的--. 2. 关于精度 dyf神牛说了:long long就能过 (何必再写个高精呢) 3. 是不是只有我智障把LCM写错了-- 思路: 暴搜+剪枝 显然的剪枝:若已得的LCM能够除得尽当前解.剪掉.(gcd&lcm的性质) 然后就32msAC了-- 差距很大有木有 Floyd 就可以搞(不过看看数据范围根本没有往这个方面想啊--) f[i][j] =…
题意: 思路: 按照题意暴搜 注意 如果目标串==给的串 答案是2 //By SiriurRen #include <cstdio> #include <cstring> #include <algorithm> using namespace std; int n,k,goal,a[1005],head,tail,q[1000000],vis[1<<16],minn[17],rec[17]; char p; int main(){ memset(minn,…
经典sudoku问题 按部就班就好 一定要注意细节 大于1还是大于等于1 r c越界判断 judge时0的特判 blabla居然磨了2个小时 改了很多地方所以实现得有点冗余,反正能A吧 /*H E A D*/ int sudo[66][66]; char str[666]; int usedr[66][11]; int usedc[66][11]; int rsum[66],csum[66]; typedef pair<int,int> P; P pos(int i,int j){ if(i&…
题意:全局最大割. 分析:有相应的算法,数据量很小,可以枚举源点,汇点,最大流. 这里用DFS,状态定义:分成两个集合,刚开始S集合全部点,然后一个一个放,这是一个回溯的过程. 没剪枝也过了. 剪枝技巧:当前这个节点放到T集合,比之前还小,那么一定,这个点不在T集合里面. #include <iostream> #include <cstdio> #include <cstring> #include <cmath> using namespace std;…
题意:输出a^3=b^3+c^3+d^3的所有a,b,c,d的值. b,c,d由小到大且b,c,d都大于1. 思路: 按照题意写就好.... // by SiriusRen #include <cstdio> using namespace std; int num[105],n,t,s[5]; void dfs(int x,int pos,int remain){ if(x==4){ if(!remain)printf("Cube = %d, Triple = (%d,%d,%d)…