`
暴风雪
  • 浏览: 389141 次
  • 性别: Icon_minigender_2
  • 来自: 杭州
社区版块
存档分类
最新评论
文章列表
#ifndef GLUT_DISABLE_ATEXIT_HACK #define GLUT_DISABLE_ATEXIT_HACK #endif #define GLEW_STATIC #include <GL/glew.h> #include <GL/wglew.h> #include <GL/freeglut.h> #include <vector> #include <glm/glm.hpp> #include <glm/gtc/matrix_transform.hpp> //for matrices ...
#ifndef GLUT_DISABLE_ATEXIT_HACK #define GLUT_DISABLE_ATEXIT_HACK #endif #define GLEW_STATIC #include <GL/glew.h> #include <GL/wglew.h> #include <GL/freeglut.h> #include <vector> #include <glm/glm.hpp> #include <glm/gtc/matrix_transform.hpp> //for matrice ...
A #include<iostream> #include<cstring> #include<cstdio> using namespace std; long long num[20][20]; int main(){ long long i,j,k,a,b,c; while(cin>>a){ for(i=1;i<=a;i++){ num[i][1]=num[1][i]=1; } for(i=2;i<=a;i++){ ...
题意       给出一个无相无环图(树或者是森林),给出每个节点周围节点编号个数和它周围节点的异或和,重构这棵树 思路       首先,叶子节点的异或值肯定是他的父亲节点,这样,从叶子节点开始,从底层便能逐步推导出上层的树结构,从而得到答案   #include<iostream> #include<cstring> #include<cstdio> #include<cmath> #include<queue> using namespace std; const int nMax = 100000; c ...
这一场给的数据量都不大,关键就是要敢暴力 a #include<iostream> #include<cstring> #include<cstdio> using namespace std; const int nMax = 1000; int num[nMax]; int main(){ int n,i,j,k,a,b,c; while(cin>>n){ for(i=0;i<n;i++){ // cin>>num[i]; ...

[数论]hdoj 1299

题意       给出一个数n(0<n<10^9)。问有多少种a,b的组合使得1/a+1/b=1/n。 思路       第一步a,b肯定大于n。设a=n+x,b=n+y。得到n^2=x*y。题目转化为求n^2有多少种分解为两个数乘积的方法。      第二步,这里有一个定理ai为一个质数。对于一个数字x,x=a1^k1*a2^k2,,,,,*an^kn。则x的因子个数为(k1+1)*(k2+1)*,,,,,*(kn+1)。      第三步,容易推出x^2的因子个数为(2*k1+1)*(2*k2+1)*,,,,,*(2*kn+1)      第四步,对于一个完全平方数 ...
这一场就是一个杯具,但是不得不说题目出得很有意思,质量很棒 A没的说 #include<iostream> #include<cstring> #include<cstdio> using namespace std; int num[11]; int main(){ num[0] = 2; num[1] = 7; num[2] = 2; num[3] = 3; num[4] = 3; num[5] = 4; num[6] = 2; num[7] = 5; ...
题意       求一列数字的逆序数。   思路       由于数字很大,所以不能直接求,这里先对原数列排序之后,求出原下标的逆序数即可 #include<iostream> #include<cstring> #include<cstdio> #include<algorithm> #define lowbit(x) (x&(-x)) using namespace std; const int nMax = 500010; typedef long long ll; struct rrr{ l ...

[bfs]hdoj 1195

题意      问从第一个状态转移到第二个状态需要至少几步   思路     按照题意bfs一遍即可   #include<iostream> #include<cstring> #include<cstdio> #include<queue> using namespace std; class sta{ public: char str[5]; int step; }; queue<sta>que; int vis[11][11][11][11]; bool getvis ...
题意     http://acm.hdu.edu.cn/showproblem.php?pid=1166 思路    用线段树做过,这次换用树状数组来写。http://www.cnblogs.com/zhangshu/archive/2011/08/16/2141396.html这一篇树状数组的介绍真的很好。   #include<iostream> #include<cstring> #include<cstdio> using namespace std; #define lowbit(x) (x&(-x)) const i ...
题意:       求P(n,m)的最后一位非零数。   思路:       讨论1-----n中2,5,3,7,9因子的个数,具体移步 http://duanple.blog.163.com/blog/static/7097176720081016113033592/   按照我的理解,求n!最后非零为,先把1----n中‘2’和‘5’的因子的数量求出来,因为只有2和5可以构成0,接下来就要分别求出1---n中最后一位为3,7,9的数字的数量,然后相乘就可以得到n!的最后一位的数 #include<iostream> #include<cstring&g ...
//A #include<iostream> #include<cstring> #include<cstdio> using namespace std; int num[300]; int main(){ num[1] = 1; num[2] = 3; for(int i=3;i<200;i++){ num[i] = num[i-1] + i; // cout<<i<<" "<<num[i]<<endl; ...
题意       给出每个海报的位置,问最后没有被完全覆盖的海报有多少张 思路       这里给的海报的端点值很大,需要离散化之后再用线段树求解。离散化写挫被坑了好多发,注意这三组数据。 3 3 3 4 1 3 4 10 //答案是2   3 1 5 1 3 4 5 //答案是2   3 1 10 1 3 6 10 //答案是3 #include<iostream> #include<cstring> #include<algorithm> #include<cstdio> using nam ...
i题意        和poj1823差不多,加了一个查询最左可行的位置 思路        查询的时候根据不同的sta,分情况讨论 #include<iostream> #include<cstring> #include<cstdio> using namespace std; const int nMax = 1000000; struct{ int l,r,val,lmx,rmx,sta; //0empty 1full -1mix }node[3*nMax]; void gao(int u){ if ...
题意      一个旅馆有n个房间,有m次操作,每次操作可以是 1,从第a个房间开始的连续b个房间全部住满 2:从a开始的b个房间全部清空 3:查询n个房间中最长连续空房间的长度。   思路      对于每个节点,记录这个节点的sta:状态,val:最长连续空房 lmx:区间内左侧连续空房间数 rmx:区间内右侧连续空房间数。并用子节点的值来更新父节点。     更新节点时,记得用子节点的状态更新当前节点的sta值,否则父节点更新时会出错。 #include<iostream> #include<cstring> #include<cstdio& ...
Global site tag (gtag.js) - Google Analytics