开幕雷击:《关于文件错误导致没分这件事》
事后我思考了一下,主要是因为考试的时候比较紧张再加上有题没做出来大脑宕机然后忘了之前老师是怎么演示来着于是把不知道名字写没写对的cpp往压缩包里一塞就交上去了……
下面是关于题,做题方式啥的还是值得反思的。。
先看第一题。
第一遍:黑人问号???系数咋求啊完全没思路啊喂(好吧是我太逊了)看看时间好像才过去五分钟,那再看看
第二遍:咦题目说50%的数据a=b=1,这样难度好像降了一些,那就先写50分再说
然后,有思路了,但没完全有,于是写到一半,卡。。卡住了。。。。
算了,还剩不到十分钟,没逝的。
看下一题,汉诺塔?这题我会,因为做过,写个简单的递归就完事了。
还有五分钟,垂死挣扎一下。
骨牌覆盖,听起来好像不是很简单的样子。
然后我在纸上举了几个例子,哦,其实就是斐波那契啊,那没事了。
之后我还想再回去看看第一题,结果二十分钟到了。我惊喜地发现我甚至不知道怎么把这玩意儿保存到桌面上。最后就有了瞎点一气然后最后一道题没保存等等迷惑行为。
反思
- 如果一道题看了几遍还没思路,最好还是直接转战下一个,不要在一道题上浪费过多时间。
- 作为信竞人,电脑操作是不是应该熟练亿点。。
- 考试的时候应该放平心态,这样思考速度也会快很多。
最后粘一下第一题的题解
Description
给定一个多项式 (ax + by)k ,请求出多项式展开后 xnym 项的系数。
Input
共一行,包含 5 个整数,分别为 a,b,k,n,m,每两个整数之间用一个空格隔开。
Output
输出共 1 行,包含一个整数,表示所求的系数,这个系数可能很大,输出对 10007 取模后的结果。
Sample Input
1 1 3 1 2
Sample Output
3
Data Constraint
对于 30%的数据,有 0≤k≤10;
对于 50%的数据,有 a = 1,b = 1;
对于 100%的数据,有 0≤k≤1,000,0≤n, m≤k,且 n + m = k,0≤a,b≤1,000,000。
#include<bits/stdc++.h> using namespace std; int main() { int s[1001][1001]; long long ans; freopen("factor.in","r",stdin); freopen("factor.out","w",stdout); scanf("%d %d %d %d %d",&a,&b,&k,&n,&m); s[1][1]=1; for(int i=2;i<=k+1;i++) for(int j=1;j<=i;j++) { s[i][j]=s[i-1][j]+s[i-1][j-1]; s[i][j]%=10007; } ans=s[k+1][m+1]; for(int i=0;i<n;i++) ans=(ans%10007*a%10007)%10007; for(int i=0;i<m;i++) ans=(ans%10007*b%10007)%10007; printf("%lld",ans); }