05 2012 档案
摘要:1,看问题一定要深入实质性的东西2,计算几何题注意角度的计算,有时能减少不少计算量3,做题时一定要注意大量题型的训练,能熟练运用各种题型的分析方法、技巧找到解题方法4,注意解题方法的总结归纳5,区间顺序的选择三层循环的DP6,选择满足条件的指定对象,注意条件的预处理,减少循环的次数7,对多个对象的元素进行选取,视图化用搜索8,对无法表示的图论map,可以考虑并查集、矩阵压缩9,回溯和深搜区别:前者是求有多少种情况,后者是能否出现这种情况10,二分、三分一般是用于求于求达到一定要求的未知数,可以是多个,一定要选出一个进行分,其他的未知数有其计算得出,用要求进行方向判断,小还是大了11,区间型的D
阅读全文
摘要:#include <iostream>#include <cstdio>#include <cstring>#include <queue>using namespace std;int a[1005][1005],vis[1005][1005];int dic[4][2]={{0,1},{0,-1},{1,0},{-1,0}};int n,m;struct node{ int x,y,dir,corner;};node start,end;void bfs(){ queue<node> q; int i; node pre,cur;
阅读全文
摘要:充分利用下标的资源,tree[]表示节点含有的数据个数#include <stdio.h>const int MAXN=262144;int tree[MAXN<<1];int pos;void build(int l,int r,int rt){ tree[rt]=r-l+1;//表示节点含有的数据个数 if(r==l) return ; int m=(r+l)/2; build(l,m,rt*2); build(m+1,r,rt*2+1);}void update(int p,int l,int r,int rt){ tree[rt]--;//更新节点的数的个数 i
阅读全文

浙公网安备 33010602011771号