在UOS系统中已经预装了Samba(如果没有,自行安装)安装: sudo apt -y install samba samba-common创建samba共享目录: sudo
斐波那契序列 集锦 (转)[定理1] 标准Fibonacci序列(即第0项为0,第1项为1的序列)当N大于1时,一定有f(N)和f(N-1)互质其
先看对数的性质,loga(b^c)=c*loga(b),loga(b*c)=loga(b)+loga(c); 假设给出一个数10234432,那么log10(10234432)=log10(1.0234432*10^7)=log10(1.0234432)+7; log10(1.0234432)就是log10(10234432)的小数部分. log10(1.0234432)=0.010063744
这道题就是用单调队列来维护,但是用G++交TLE,用c++5000多ms,真是囧...代码很丑,就凑合着看吧#includeint a[1000009],que[1
这个题坑了我两小时,查了半天,最后发现自己一直都弄错了运算符的优先性。val[p]^val[q]!=v是错的,应该写成((val[p]^val[q])!=v),异
(这个是我们c++作业) 此电话本可完成以下功能:(1) 实现简单电话本功能,用姓名来搜索电话号码;(2) 用户输入姓名,保存 用户输
首先祝愿大家新年快乐,快乐2012 。 回首2011一年里和acm结缘,有幸自己能接触这项赛事中,上半年自己刷水题,参加新生赛、校赛什么的全部被虐爆了。然后不知不觉的挥霍了两个月没做什么题,到了署假,各种排位赛还是逃不了被虐的命运,各路大神碉堡了。区域赛组队有幸和峥哥和硕哥组队,之后的尽管我们多校、网赛打的
昨天本来想做做codeforce呢,结果第一题就被卡了,看来自己想问题还是不全啊!学习了声明pi的方法#define pi 2*acos(0)还有在取整时一定记着加1e-8。其他的就是把所以情况考虑全。
hdu 2196 Computer 经典的树形DP 两次DFS遍历题意很简单,就是给你一棵树,每条边都有一定的权值,然后让你找到每个点所
#include#define N 2011#define M 102011int U[M],D[M],L[M],R[M],C[M],X[M];//x代表M所属的行,c代表M所属的列,U,D,L,R为一个元素的上下左右指针int H[N],S[N],Q[N];//H是水平循环链表的头指针,S代表每一列的元素个数,Q存储一个可能结果int size,n,m;void remove(in
这个题用IDA*算法比较好,代码量也比A*小,空间消耗也小。估价函数也比较好找,就是中间8个方格距离这8个方格同数的最短距离。#include#include#includeint init[30];int sol[1010];int bound;bool ans;int final;int e[8]={6,7,8,11,12,15,16,17};int re[8]={5
这个题被stl的queue坑了2小时,一直re,换成手写的队列就ac了#include#include#include#includeusing namespace std;int n,m,l,k;int map[25][25];bool visit[25][25][16400];int h[4]={1,-1,0,0};int g[4]={0,0,1,-1};struct
这道题思路就是由最短路边组成的边集搞一次最大流得到的是互不相交的路径。首先用SPFA得到各点到源点的最短距离,在遍历一遍所有的边,通过
我在搜与某一块相连的方块时,用BFS搜的话用在HDU4989ms险过,在BOJ6012ms超时。然而换成DFS搜在HDU2765ms,在BOJ
这个题得用一下位运算‘&’的性质:若c=a&b,则c设置long long最大值时可以这么写const long long MAX=(~(0ULL)>>1); #include#include#includeusing namespace std;const int N=45;const long long MAX=(~(0ULL)>>1);int t,c
这个题的贪心的顺序比较难想。int cmp(const void * a,const void * b){ struct point * aa=(struct point * )a; struct point * bb=(struct point * )b;
这个题比较有意思,小的时候就做过这种智力题....首先分情况讨论(剩余人数记为left)left==1时,直接自己过去left==2时,直接一
题目条件叙述挺恶心的,其实表达意思挺简单的。就是给你几个矩形(依次在x轴上排开),问你能够组成的最大矩形面积。本题采用一个栈作为存储数据结
用stl的set和map#include#include#include#include#include#include#include#includeusing namespace std;typedef map > def;void pop([k].size()); for(multise
给出我自己的证明:不可能出现fabs(a47-a74)>1。首先把所有的4排成一排,如果在队首前插入7,则无论插几个只多一个a74;如
建图还是坑了我一下午。。。。终于把数独搞定了(囧)具体细节我加了注释#include#define inf 1e8#define M 9*9*9*9*9*4+100#define N 9*9*9+100 int U[M],D[M],L[M],R[
题目地址http://acm.bupt.edu.cn/onlinejudge/newoj/showProblem/show_problem.php?problem_id=170这个题用到信息论里的几个概
从前三个数中找到公比(最多去掉一个数),检查后面数是否满足等比#include #include #include int in[100010];int min(int a,int
brute force暴力枚举即可,位运算hash判重#includeint n,ans;int a[100],b[100],c[100],d[100],s[100];void init(){ for(int i=1;i<=n;i++){
状态总数10*2^10=10240,hash判重即可注意点:在A房间不能关掉自己房间的灯(oh,my god,太伤了!) #include#include#includeusing namespace
其实这个题dfs就可以过了..#include#include#include#includeusing namespace std;int ao,bo,co,d;int visit[205][205][205];int res[205];int min(int a,int b){ return a>b?b:a;}void dfs(int a,int b,int c,in
DLX重复覆盖对于当前矩阵的处理是,将当前列去掉,并将选作当前列的解的行能够覆盖到的列全部去掉。因为不需要每列仅由一个1去覆盖,因此不必要把能够覆盖某一列的所有行全部去掉。因此remove和resume函数的写法将会有所不同(具体可参考下面我写的代码)第二个区别是,由于矩阵密度下降会变慢(因为去掉的少了),因此要加上一个强剪枝。这个剪枝利用的思想是A*搜索中的估价函数。即,对于当前的递归深度K
此题总状态量很小,可以状态DP#include #include using namespace std;struct point{ char str[110]; int cost,dead;}sub[20];int n;int d800];void print(int state){ if(
dp[i][j]表示在i位置放第j个的最小error,简单DP即可#include #include #include #define inf 1e9;int h,in[210];double e[210][210];double dp[210][210];doubl