食物链
摘要:100 71 101 12 1 22 2 32 3 31 1 32 3 11 5 5#includeusing namespace std;int f[200000];int ans;int n;int k;int find(int x){ if(f[x]==x) retur...
阅读全文
银河英雄传说
摘要:#include#include#include#includeusing namespace std;int t;int q[99999];int h[99999];int f[99999];int find(int x){ if(f[x]==x)return x; ...
阅读全文
团伙
摘要:反集的反集不是朋友。。。要是把他们合并便多了//并查集+反集的思想 #include#includeusing namespace std;int n,m;int flag;int flag1[9999];int f[2500];int find(int x){ if(f[x...
阅读全文
奖金(拓补排序的应用)
摘要:谁应该高谁的入度++,并记录下谁比低的高(低的得出度),所以入度为零的就是最低的(好不公平),找出所有最低的,将他们算作一层,奖金++(算是拓补排序吧)#include#include #includeusing namespace std;int n;int r[9999];in...
阅读全文
拓补排序之烦人的幻灯片(确实很烦人。。。)
摘要:将入度为一的区间(也就是唯一匹配的点和区间)找出来,把这个点所有出度的入度–,给这个点做标记,输出 继续执行以上操作#include#include #includeusing namespace std;struct hu{ int x,y; int z,w;}a[9...
阅读全文
乌龟棋
摘要:朴素搜索 30分 tle#include#includeusing namespace std;int n,m;int q;int dp[99999];int a[999999];int f[1999];int max1=-9999999;void dfs(int x,int a...
阅读全文
能量项链
摘要:#include#includeusing namespace std;int n;int f[1999][1999];int a[9999];int ans;int max1=-999999999;int main(){ scanf("%d",&n); for(int...
阅读全文
金明的预算方案(组合背包)
摘要:组合背包#includeusing namespace std;int v[9999];int w[9999];int k[9999];int f[99999];int n,m;int t=0;int s[9999][10];int main(){ scanf("%d%d",...
阅读全文
N皇后 (位运算)
摘要:二进制log2(t)+1 便是位数#include#include#include #include#include#include using namespace std;int n;int p;int s=0; int sol[999];int ans=0;int log2(i...
阅读全文
抓住那头牛
摘要:广度优先搜索,深搜超时 需要判断界限,做标记,已到过的地点就不必去了#include#includeusing namespace std;int head=0,tail=1;int n,k;int f[199999];int d[9999999];int t[9999999];i...
阅读全文
靶形数独
摘要:90 分#include#includeusing namespace std;int flag[99][99];int s=0;int a[9][9]={ {6,6,6,6, 6,6,6,6,6},{6,7,7,7, 7,7,7,7,6},{6,7,8,8, 8,8,8,7,6}...
阅读全文
清北学堂总结(未完待续。。。。。。。)
摘要:day1上午 1搜索: 先写出基本的搜索模板,然后将大小变量放入dfs返回值去,根据dfs中变量的数量开相应维数的数组,写出记忆化搜索,再根据边界条件和记忆化搜索写出dp。 2差值维护: #includeusing namespace std;int n;int m;int a...
阅读全文