清北考前刷题day1下午好】的更多相关文章

水题(water) Time Limit:1000ms   Memory Limit:128MB 题目描述 LYK出了道水题. 这个水题是这样的:有两副牌,每副牌都有n张. 对于第一副牌的每张牌长和宽分别是xi和yi.对于第二副牌的每张牌长和宽分别是aj和bj.第一副牌的第i张牌能覆盖第二副牌的第j张牌当且仅当xi>=aj并且yi>=bj.(注意牌不能翻转)当然一张牌只能去覆盖最多一张牌,而不能覆盖好多张. LYK想让两副牌的各n张一一对应叠起来.它想知道第二副牌最多有几张能被第一副牌所覆盖.…
三向城 /* 原图一定是一棵完全二叉树. 根节点是x,左节点是x*2,右节点是x*2+1 转化为二进制往左右走就很明显了. */ #include<iostream> #include<cstdio> #include<cstring> #define ll long long using namespace std; int T,x,y,k,ans,pos; inline int read() { ,f=;char c=getchar(); ;c=getchar();…
/* 可以并查集维护 可以发现,某个联通快出现大于等于2个环,一定无法分配. 有解要么一个环,要么没有环. 一个环时答案等于点数乘2(顺时针或逆时针). 没有环是树,对于一个n个点的树,方案一定有n种(不连某个点). */ #include<iostream> #include<cstdio> #include<cstring> #define N 100007 #define mod 1000000007 #define ll long long using name…
/* 贪心 负数一定不取 枚举最高位是1 且答案取为0的 位置, 更新答案. */ #include<iostream> #include<cstdio> #include<cstring> #define ll long long #define N 100010 using namespace std; int n; ll a[N],ans,sum[N]; char s[N]; ll read() { ll x=,f=;char c=getchar(); ;c=ge…
/* (4,1)*(3,1)*(2,1)的话1变成2然后一直是2 2变成1然后变成3 3变成1然后变成4 4变成1 */ #include<iostream> #include<cstdio> #include<cstring> #define N 1007 using namespace std; int n,m,p,k,ans,cnt,tmp; int a[N],pos[N]; struct node{ int len,q[N]; }s[N]; inline int…
/* 辗转相除,每次计算多出现了几个数. */ #include<iostream> #include<cstdio> #include<cstring> #include<cmath> #define ll long long using namespace std; ll a1,a2,a3,a4,ans; inline ll read() { ll x=,f=;char c=getchar(); ;c=getchar();} +c-';c=getchar…
#include<iostream> #include<cstdio> #include<cstring> #include<stack> #define N 100007 using namespace std; char ch[N]; int ans,pos; stack<char>s; int main() { freopen("shower.in","r",stdin); freopen("…
立方数(cubic) Time Limit:1000ms   Memory Limit:128MB 题目描述 LYK定义了一个数叫“立方数”,若一个数可以被写作是一个正整数的3次方,则这个数就是立方数,例如1,8,27就是最小的3个立方数. 现在给定一个数P,LYK想要知道这个数是不是立方数. 当然你有可能随机输出一些莫名其妙的东西来骗分,因此LYK有T次询问~ 输入格式(cubic.in) 第一行一个数T,表示有T组数据. 接下来T行,每行一个数P. 输出格式(cubic.out) 输出T行,…
  LI /* 没有考虑次大值有大于一个的情况 */ #include<iostream> #include<cstdio> #include<cstring> #define N 1000007 using namespace std; int n,m,ans,cnt,mx; int a[N]; inline int read() { ,f=;char c=getchar(); ;c=getchar();} +c-';c=getchar();} return x*f;…