2017/8/4 考试吐槽

2017 8 4 得分:110

一句话:江南皮革厂倒闭了!会的东西全带着他们的小姨子跑了!成绩统统二十分!统统二十分!

A、聪明的质检员

链接:http://cogs.pro/cogs/problem/problem.php?pid=631

题意:找到一个式子:Y_i = \sum_j 1 \times \sum_j v_j ,  j \in [L_i, R_i] \text{且} w_j \ge W, j \text{是矿石编号}与标准差绝对值最小的情况。

吐槽:二分写成三分……少写一个库……心里苦啊……考试时就这么……100分飞了……(╯‵□′)╯︵┻━┻/(ㄒoㄒ)/~~/(ㄒoㄒ)/~~

题解:不要被那个该死的绝对值吓到而投奔三分!去掉绝对值,我们就会发现,这个狗比函数是单调下降的!于是我们改用二分!二分时要注意,函数值大于标准差测一个,小于标准差再测一个!还有就是,验证答案的时候不要XJB用什么数据结构!(数据结构学傻了---$ysf$)一个前缀和足够!恭喜成为优化加$log$成员!给这位仁兄让个地方……唉不说了说多了都是泪啊啊……

还有就是:多用$long long$!

 1 #include<iostream>
 2 #include<algorithm>
 3 #include<cstdlib>
 4 #include<cstdio>
 5 #include<cstring>
 6 using namespace std;
 7 const int maxn=200005;
 8 int n,m,l[maxn],r[maxn],w[maxn],v[maxn];
 9 long long sumt[maxn],sumn[maxn],s;
10 long long check(int vall)
11 {
12     for(int i=1;i<=n;i++)
13     {
14         sumt[i]=sumt[i-1],sumn[i]=sumn[i-1];
15         if(w[i]>=vall)sumt[i]++,sumn[i]+=v[i];
16     }
17     long long ans=0;
18     for(int i=1;i<=m;i++)
19     {
20         ans+=(sumn[r[i]]-sumn[l[i]-1])*(sumt[r[i]]-sumt[l[i]-1]);
21     }
22     return ans-s;
23 }
24 int haha()
25 {
26     freopen("qc.in","r",stdin);
27     freopen("qc.out","w",stdout);
28     scanf("%d%d%lld",&n,&m,&s);
29     int maxx=0,minn=1000001;
30     for(int i=1;i<=n;i++)
31     {
32         scanf("%d%d",&w[i],&v[i]);
33         maxx=max(maxx,w[i]);
34         minn=min(minn,w[i]);
35     }
36     for(int i=1;i<=m;i++)scanf("%d%d",&l[i],&r[i]);
37     int L=minn,R=maxx,mid;
38     long long ans=(long long)1e12;
39     while(L<=R)
40     {
41         mid=(L+R)>>1;long long t=check(mid);
42         if(t>=0)L=mid+1;
43         else R=mid-1;
44         ans=min(ans,abs(t));
45     }
46     printf("%lld\n",ans);
47 }
48 int sb=haha();
49 int main(){;}

cogs631

B、lucky

听说是tyvj上有但是我怎么没找到呢……不管了直接描述题意:只含有4、7的数是幸运数,不含有出现两次及以上元素序列就是不幸运的。现在给出一个序列,问长度为k的不幸运序列有几种情况。

吐槽:表打小了……(╯‵□′)╯︵┻━┻吔屎……

题解:首先我们找出来最大值范围内所有的幸运数(打表或暴搜),然后,我们处理数列中每一个数字,计算出不是幸运数的个数和幸运数的种数。

对于每一个不是幸运数的数,我们可以看出这是个简单的组合问题,而对于是幸运数的,我们直接作为0-1背包处理,因为每个幸运数最多出现一次。因此,总的公式就是:

ans=\sum_{i=1}^k {\binom{d}{k-i} \times f_i}

 1 #include<iostream>
 2 #include<cstdio>
 3 #include<cstring>
 4 #include<algorithm>
 5 using namespace std;
 6 const long long mod=(long long)1e9+7;
 7 long long c[100005],con[100025],f[100025];long long n,k;
 8 long long qpow(long long q,long long tim)
 9 {
10     long long tmp=q,l=1;
11     for(;tim;tim>>=1,tmp=tmp*tmp%mod)
12         if(tim&1)l=l*tmp%mod;
13     return l;
14 }
15 long long lucky_num[2050],cnt;
16 void dfs(long long val)
17 {
18     lucky_num[++cnt]=val;
19     if(1ll*val*10+4<=1e10)dfs(val*10+4);
20     if(1ll*val*10+7<=1e10)dfs(val*10+7);
21 }
22 long long ans;
23 long long tot;
24 int haha()
25 {
26     //freopen("lucky8.in","r",stdin);
27     //freopen("lucky.out","w",stdout);
28     dfs(4);dfs(7);
29     sort(lucky_num+1,lucky_num+cnt+1);
30     scanf("%lld%lld",&n,&k);
31     long long n2=n;
32     for(long long i=1;i<=n2;i++)
33     {
34         long long x;scanf("%lld",&x);
35         long long K=lower_bound(lucky_num+1,lucky_num+2046,x)-lucky_num;
36         if(lucky_num[K]==x)
37         {
38             con[K]++;
39             if(con[K]==2){n-=2;tot++;}
40             else if(con[K]>2)n--;
41         }
42     }
43     sort(con+1,con+2046,greater<long long>());
44     c[0]=1;
45     for(long long i=1;i<=n;i++)
46     {
47         c[i]=(n-i+1)*c[i-1]%mod*qpow(i,mod-2)%mod;
48     }
49     f[0]=1;
50     for(long long i=1;i<=tot;i++)
51         for(long long j=i+1;j;j--)
52             f[j]=(f[j]%mod+f[j-1]*con[i]%mod)%mod;
53     long long tim=min(tot,k);
54     for(long long i=0;i<=tim;i++)
55         ans=(ans+c[k-i]*f[i]%mod)%mod;
56     printf("%lld\n",ans);
57     //while(1);
58 }
59 int sb=haha();
60 signed main(){;}

C、兔农

链接:http://cogs.pro/cogs/problem/problem.php?pid=1374

题意:一个数列,与$Fibonacci$数列唯一的不同就在于如果$f[i]mod n=1$,$f[i]--$。求出这个数列对于一个模数取膜后的某一项。

吐槽:暴力答不对啊……死了得了……

题解:暴力好打,然而正解至今没有看懂(明明是你太蒻了好不好),只能丢链接加%dalao了……

$vfk$的:http://vfleaking.blog.163.com/blog/static/174807634201341721051604/

鏼的:http://jcvb.is-programmer.com/posts/39528.html

回来再填坑吧……(逃

时间: 2024-12-12 12:29:22

2017/8/4 考试吐槽的相关文章

2017/8/7 考试吐槽

2017 8 7 得分:50 果然科学定律是不能够违背的--前几天,人品大爆发,考的还像那么回事,但是,带来的副作用是:RP 暴跌--真正需要人品的时候,已经掉光了--我又有什么办法呢--联考挂飞,这就是你! A.Passward 不要吐槽这个拼写--原题如此-- 题面--还是别贴了,找不到啊--直接重述题意+贴相似题目:找出最长的前后缀公共部分,并且这个东西在中间出现过.http://cogs.pro/cogs/problem/problem.php?pid=2688不同的是只有一组数据. 考

2017/8/2 考试吐槽

2017 8 2 得分:70 首先扯点题外话:之前那么多天考试从来不公开吐槽,主要是因为每天都有我们的学长出的题,涉及到了他们的知识产权,我不方便发出来.但是今天!没有!全是原题!因此我要向全世界吐槽一发!让全世界感受到我的蒟蒻!(滑(fa)稽(gi))好了不废话了,现在进入正题:吐槽+题解-- 一句话:代码长度与正确性一定成反比! A.路面修整 吐槽:果然是我太弱了,这个东西都想不出来-- 链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1

2017/8/6 考试吐槽

2016 8 6 成绩:20 (既然翻车了就多扯几句,反正也不怕什么,都是自己人) 得知成绩的一刻瘫倒在了地上--满怀希望的一场考试竟是这样的一场大翻车--只能用惨烈形容了--我菜爆了--一天天依赖STL都有毒啊--我说啥啊--能说的全卡在嗓子眼出不来啊--我真--菜的抠脚!唉--全都考好了,自己弱也怪不得出题人--算了先到这里,先开始口胡 A.天鹅会面 首先贴出一个英吹四艇的OJ上的链接:http://codeup.hustoj.com/problem.php?id=25481&csrf=5d

2017/8/12 考试吐槽

2017 8 12 得分:200 我只能说一句话:这才是$NOIP$难度吧--(神$TM$联赛考$FFT$) A.灌水 题意:$n$根板子长度是$1~n$全排列,找出一种方法,使得板子组成的容器容量恰好为定值. 眼瞪十分钟$+$$coding$ $15$分钟 $+$ $debug$ $5$分钟 $=$ $AC$. 首先我们可以知道,整个容器容量最大的情况就是两根最长的板子夹在两边,中间全是相对较短的板子,这样获得的最大的容量就是\[\frac{(n - 2)(n- 1)}{2 }\].那么我们就

2017/8/9 考试吐槽

2017 8 9 得分:70 感觉现在自己最弱的地方不是在于思维活性上,而是在于那些本不应该出现在我身上的问题,比如说什么看出正解打不出来啦.打出正解莫名其妙被卡分啦.莫名其妙少些什么导致爆零啦.读不懂题啦.读不懂题啦.读不懂题啦--反正问题太多了-- A.calc 题意:求出所有顺序对的贡献,定义顺序对贡献为这两个数之间比前者大比后者小数的个数. 一眼瞪出这个东西是用求逆序对的方法搞,但是1.这个东西肯定不是归并排序搞得出来的,2.我不会树状数组求逆序对--欢声笑语中打出$GG$-- 实际上也

2017/8/13 考试吐槽

2017 8 13 得分:160 联考最后一天--因为不会对拍日常爆炸-- A.最长上升子串 题意:给出一个序列,允许修改一次元素,求出这个序列最长子串. 这个玩意我刚开始以为是个线性$DP$,然后--细节巨多,写出来之后出一个数据卡一个-- 慌得我直喝水直上厕所--然后转到第$8$趟的时候,由于厕所比我在的那个窝风角落凉快,我的脑子算是冷静了下来,仔细一想,卧槽这不是$DP$!我可以先正序求出以每个元素开头子串长度,再倒序求出每个元素结尾子串长度,之后枚举修改位置,检查修改效果!$mdzz$-

2017年精算师考试准考证打印入口及流程

2017年精算师考试将在10月28日至24日进行,距离精算师考试时间还是有28天.由于考试时间即将来临,在考试临近的时候,考生们最关心的问题就是精算师考试准考证打印的相关问题,今天小编就来告诉大家探讨一下. 相信还有大部分考生还不清楚精算师考试准考证打印入口在哪里,其实考生们只需要在网上直接进入中国精算师协会官网,就可以打印准考证了. 当然对于很多第一次报名参加精算师考试的考生来说,对于这一块没有什么经验,所以为大家梳理了一下精算师考试准考证打印的具体流程,以供大家参考. 1.请报名成功的考生在

【临时重发】复旦大学 在职软件工程硕士(双证)2017年入学考试 参考书推荐

[临时重发]复旦大学 在职软件工程硕士(双证)2017年入学考试 参考书推荐 2017-06-04 MSE热线 复旦MSE热线 (一)统考科目:(除了政治时政版(现在还没有),不一定要所谓2018版) 政治理论 (1)<全国硕士研究生招生考试 思想政治理论 考试大纲>,教育部考试中心,高等教育出版社,10元. (2)<全国硕士研究生招生考试 思想政治理论 考试大纲解析>,教育部考试中心,高等教育出版社,59元. 英语(二) (1)<全国硕士研究生招生考试 英语(二) 考试大纲

PAT(甲级)2017年秋季考试

PAT(甲级)2017年秋季考试 还有一题由于上午心情复杂..没调试完.待补. A Cut Integer 模拟题 #include<bits/stdc++.h> using namespace std; typedef long long ll; int n; int getLen(ll x){ int len = 0; while(x){ len++; x/=10; } return len; } int main(){ cin>>n; while(n--){ ll x; ci