- 博客(7)
- 收藏
- 关注
原创 欧拉函数
#define N 100001int e[N];void Init(){ for(int i=1;i<=N;i++)e[i]=i; for(int i=2;i<=N;i+=2)e[i]/=2; for(int i=3;i<=N;i+=2) if(e[i]==i){ for(int j=i;j<=N;j+=i)
2015-12-28 19:06:54 270
原创 stringstream
头文件#include<sstream>常用于数据转换和分割字符串int n;string s="10 100 22";stringstream ss;//或者stringstream ss(s);ss<<s;while(ss>>n)//分割并且转换成数 cout<<n<<ends;cout<<endl;ss.clear();//sstream自带缓冲,所以要及时清除缓冲区s="
2015-12-28 18:29:28 292
原创 优先队列
头文件:#include<queue>1.整数越大优先级越高priority_queue<int>pq;2.整数越小优先级越高priority_queue<int,vector<int>,greater<int> >pq;3.结构体自定义优先级 原理:优先队列标准库中默认使用 “<” 操作符定义元素之间的优先级,所以自定义优先级时要重载了 “<” 操作符。struct node{ int
2015-12-28 10:22:36 295
原创 二维矩阵的一维访问方式
HDU1045Fire Net题意:点代表空地,X代表墙。问空地最多能放置多少个炮(炮能够向上下左右四个方向打,但是墙打不穿),使互相攻击不到?简单dfs,递归深度就是炮的个数,不过二维矩阵的访问方式要变成一维的,从1到n*n的方式访问,可以避免大量重复#include<cstdio>#include<cstring>#include<cmath>#include<algorithm>usi
2015-12-09 13:55:09 597
原创 HDU5572平面几何问题
HDU 5572An Easy Physics Problem题意: 光滑平面,一个刚性小球,一个固定的刚性圆柱体 给定圆柱体圆心坐标,半径 小球起点坐标,起始运动方向(向量) 终点坐标 问能否到达终点,小球运动中如果碰到圆柱体会反射(基本物理知识)思路: 根据高中平面几何知识很快找到判断方法,但是向量的代码实现有一些麻烦,浪费时间,使用平面几何向量模板会方便许多#include<cst
2015-12-04 22:39:21 924
原创 向量模板
#include<cmath>struct node{ double dis(node);//两点距离 //向量操作 node add(node);//加 double mul(node);//乘 node mul(double);//倍 double abs();//模长 node unt();//单位化 node neg();//取
2015-12-04 22:24:36 1040
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人