DAY 1

DAY 1 morning

立方数(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行,对于每个数如果是立方数,输出“YES”,否则输出“NO”。

输入样例

3
8
27
28

输出样例

YES
YES
NO

数据范围

对于30%的数据p<=100。
对于60%的数据p<=10^6。
对于100%的数据p<=10^18,T<=100。



立方数2(cubicp)

Time Limit:1000ms Memory Limit:128MB

题目描述

LYK定义了一个数叫“立方数”,若一个数可以被写作是一个正整数的3次方,则这个数就是立方数,例如1,8,27就是最小的3个立方数。
LYK还定义了一个数叫“立方差数”,若一个数可以被写作是两个立方数的差,则这个数就是“立方差数”,例如7(8-1),26(27-1),19(27-8)都是立方差数。
现在给定一个数P,LYK想要知道这个数是不是立方差数。
当然你有可能随机输出一些莫名其妙的东西,因此LYK有T次询问~
这个问题可能太难了…… 因此LYK规定P是个质数!

输入格式(cubicp.in)

第一行一个数T,表示有T组数据。
接下来T行,每行一个数P。

输出格式(cubicp.out)

输出T行,对于每个数如果是立方差数,输出“YES”,否则输出“NO”。

输入样例

5
2
3
5
7
11

输出样例

NO
NO
NO
YES
NO

数据范围

对于30%的数据p<=100。
对于60%的数据p<=10^6。
对于100%的数据p<=10^12,T<=100。



猜数字(number)

Time Limit:1000ms Memory Limit:128MB

题目描述

LYK在玩猜数字游戏。
总共有n个互不相同的正整数,LYK每次猜一段区间的最小值。形如[li,ri]这段区间的数字的最小值一定等于xi。
我们总能构造出一种方案使得LYK满意。直到…… LYK自己猜的就是矛盾的!
例如LYK猜[1,3]的最小值是2,[1,4]的最小值是3,这显然就是矛盾的。
你需要告诉LYK,它第几次猜数字开始就已经矛盾了。

输入格式(number.in)

第一行两个数n和T,表示有n个数字,LYK猜了T次。
接下来T行,每行三个数分别表示li,ri和xi。

输出格式(number.out)

输出一个数表示第几次开始出现矛盾,如果一直没出现矛盾输出T+1。

输入样例

20 4
1 10 7
5 19 7
3 12 8
1 20 1

输出样例

3

数据范围

对于50%的数据n<=8,T<=10。
对于80%的数据n<=1000,T<=1000。
对于100%的数据1<=n,T<=1000000,1<=li<=ri<=n,1<=xi<=n(但并不保证一开始的所有数都是1~n的)。

Hint

建议使用读入优化

inline int read()
{
	int x = 0, f = 1;
	char ch = getchar();
	for(; !isdigit(ch); ch = getchar()) if(ch == '-') f = -1;
	for(; isdigit(ch); ch = getchar()) x = (x << 1) + (x << 3) + ch - '0';
	return x * f;
}





DAY 1 Afternoon

水题(water)

Time Limit:1000ms Memory Limit:128MB

题目描述

LYK出了道水题。
这个水题是这样的:有两副牌,每副牌都有n张。
对于第一副牌的每张牌长和宽分别是xi和yi。对于第二副牌的每张牌长和宽分别是aj和bj。第一副牌的第i张牌能覆盖第二副牌的第j张牌当且仅当xi>=aj并且yi>=bj。(注意牌不能翻转)当然一张牌只能去覆盖最多一张牌,而不能覆盖好多张。
LYK想让两副牌的各n张一一对应叠起来。它想知道第二副牌最多有几张能被第一副牌所覆盖。

输入格式(water.in)

第一行一个数n。
接下来n行,每行两个数xi,yi。
接下来n行,每行两个数aj,bj。

输出格式(water.out)

输出一个数表示答案。

输入样例

3
2 3
5 7
6 8
4 1
2 5
3 4

输出样例

2

数据范围

对于50%的数据n<=10。
对于80%的数据n<=1000。
对于100%的数据1<=n<=100000,1<=xi,yi,aj,bj<=10^9。



梦境(dream)

Time Limit:1000ms Memory Limit:128MB

题目描述

LYK做了一个梦。
这个梦是这样的,LYK是一个财主,有一个仆人在为LYK打工。
不幸的是,又到了月末,到了给仆人发工资的时间。但这个仆人很奇怪,它可能想要至少x块钱,并且当LYK凑不出恰好x块钱时,它不会找零钱给LYK。
LYK知道这个x一定是1~n之间的正整数。当然抠门的LYK只想付给它的仆人恰好x块钱。但LYK只有若干的金币,每个金币都价值一定数量的钱(注意任意两枚金币所代表的钱一定是不同的,且这个钱的个数一定是正整数)。LYK想带最少的金币,使得对于任意x,都能恰好拼出这么多钱。并且LYK想知道有多少携带金币的方案总数。
具体可以看样例。

输入格式(dream.in)

第一行一个数n,如题意所示。

输出格式(dream.out)

输出两个数,第一个数表示LYK至少携带的金币个数,第二数表示方案总数。 

输入样例

6

输出样例

3 2

样例解释

LYK需要至少带3枚金币,有两种方案,分别是{1,2,3},{1,2,4}来恰好得到任意的1~n之间的x。

输入样例2

10

输出样例2

4 8

数据范围

对于30%的数据n<=10。
对于60%的数据n<=100。
对于100%的数据n<=1000。



动态规划(dp)

Time Limit:1000ms Memory Limit:128MB

题目描述

LYK在学习dp,有一天它看到了一道关于dp的题目。
这个题目是这个样子的:一开始有n个数,一段区间的价值为这段区间相同的数的对数。我们想把这n个数切成恰好k段区间。之后这n个数的价值为这k段区间的价值和。我们想让最终这n个数的价值和尽可能少。
例如6个数1,1,2,2,3,3要切成3段,一个好方法是切成[1],[1,2],[2,3,3],这样只有第三个区间有1的价值。因此这6个数的价值为1。
LYK并不会做,丢给了你。

输入格式(dp.in)

第一行两个数n,k。
接下来一行n个数ai表示这n个数。

输出格式(dp.out)

一个数表示答案。 

输入样例

10 2
1 2 1 2 1 2 1 2 1 2

输出样例

8

数据范围

对于30%的数据n<=10。
对于60%的数据n<=1000。
对于100%的数据1<=n<=100000,1<=k<=min(n,20),1<=ai<=n。
其中有30%的数据满足ai完全相同均匀分布在所有数据中。




预计得分 100+60--100+20 60--80+30+0

实际得分 0 + 0 + 0 0 +10+0

morning

三个文件错误

将一份错误的文件复制了3遍

其中一份还注释了

	freopen("cubic.in","r",stdout);
	freopen("cubic.in","w",stdin);
	freopen("number.in","r",stdout);
	freopen("number.in","w",stdin);
//	freopen("cubicp.in","r",stdout);
//	freopen("cubicp.in","w",stdin);

于是乎全部Good Game!
第三题手推了几个规律

//如果两段区间拥有相同的最小值
//那么最小值一定存在于两区间的交集,如果没有交集则错误
//如果一段区间[l1,r1]拥有一个最小值s_1,另一段区间[l2,r2]存在一个最小值s_2,且s_2>s_1,且 [l1,r1]in [l2,r2]那么一定错误
//如果两个有交集的区间分别存在最小值s_1,s2,若区间1拥有较大的最小值,区间[r1+1,r2]拥有较小的最小值 
//当某区间最小值为s_1,且他的一个子集最小值为大于s_1的一个数,则…… 

然后利用第一、二个规律手造了1组数据卡掉了姜箫睿,zzlzk(xjjppm),ZlycerQan学长的程序

6 3
1 6 6
4 5 7
1 6 6

afternoon

第一题最大流dinic

N^2枚举建图时使用了错误的break;
然后GG

同样的错误还出现在旁边的ZlycerQan学长上

剪枝错误,GG

第二题

手玩(30\%,nleq 10)的数据

结果玩错了,得了10分

搜索和写的好看的dp能A这道题

不是不会写,就是不想写搜索而且dp状态并没有想到怎么表示状态

第三题

rand()

原文地址:https://www.cnblogs.com/qdscwyy/p/7748104.html