构造题好评,虽然这把崩了 原题解 A 题意 二人游戏,一个人有 \(k_1\) 张牌,另一个人 \(k_2\) 张,满足 \(2\le k_1+k_2=n\le 100\),每张牌上有一个数,保证所有的牌上的数互不相同且在 \([1,n]\) 内 每回合双方都会出一张牌,牌上数小的一方的牌会给牌上数大的一方 拿到所有 \(n\) 张牌的一方赢得比赛 求两人都采取最优策略的情况下谁会赢 多组数据,数据组数 \(t\le100\) 做法:贪心 设 \(a\) 和 \(b\) 为双方的最大数 显然如果…
AtCoder ExaWizards 2019 简要题解 Tags:题解 link:https://atcoder.jp/contests/exawizards2019 很水的一场ARC啊,随随便便就ABCDE了,F最后想到了还没有写出来. D题花了太久时间所以只有Rank31,我是真的菜. 嘿嘿嘿,上述装逼方式是我最为反感的机房里的言语,既然快退役了,也就学一学,感受一下机房里dalao们怎么样装逼一时爽.一直装逼一直爽,听者一时丧,一直听一直丧的快感咯 有意思的题应该是DE了. A Regu…
[题解]NOIP2017 提高组 简要题解 小凯的疑惑(数论) 不讲 时间复杂度 大力模拟 奶酪 并查集模板题 宝藏 最优解一定存在一种构造方法是按照深度一步步生成所有的联通性. 枚举一个根,随后设\(dp(i,j)\)表示最大深度为\(i\)且当前联通的集合是\(j\)的最小答案.预处理\(dis(u,j)\)表示当\(j\)集合内的点都存在时,\(u\)到这些点的最短的最短边. 转移: \[ dp(i,j)=\min \{dp(i-1,j),dp(i-1,s)+(i-1)\times \su…
[题解]NOIP2016 提高组 简要题解 玩具迷题(送分) 用异或实现 //@winlere #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> using namespace std; typedef long long ll; inline int qr(){ register int ret=0,f=0; register char c=getchar()…
Good Bye 2018! 题目链接:https://codeforces.com/contest/1091 A. New Year and the Christmas Ornament 题意: 给出三堆数量分别为y,b,r的东西,现在要你从三堆中各选一堆,满足y'+1=b'且b'+1=r' (y',r',b'分别是指从中选取的个数). 现在问最多能拿出的个数为多少. 题解: 我是直接模拟的= =但是有更简单的方法. 让y+=2,b+=1,那么现在的最优解为min(y,b,r)*3-3.这个还…
contest链接:https://codeforces.com/contest/1288 A. Deadline 题意:略 思路:根据题意 x + [d/(x+1)] 需要找到一个x使得上式小于等于n,即x + [d/(x+1) ] <=n,不等式两边同时+1得 x+1 + [d/(x+1)] <=n + 1当且仅当(x+1)2 = d时,式子左边最小,所有只需要判断一下最小值是否<=n+1就可以知道该不等式是否存在x满足题意了,即找到x = √d - 1,判断一下即可. AC代码:…
A-C 直接放代码吧. A int n,k; int main() { n=read();k=read(); puts(k<=(n+1)/2?"YES":"NO"); return 0; } B int d[N];pair<int,int>s[10]; int main() { for(int i=1,u,v;i<=3;i++){ u=read();v=read(); s[i].first=u;s[i].second=v; d[u]++;d[…
从这里开始 又考炸了,sad.....明年应该在准备高考了,考完把坑填了好了. 一半题都被卡常,qswl.[我汤姆要报警.jpg] dfs 怎么这么慢呀,sad..... i7 牛逼! 写的比较混乱,可以将就着看就看吧. Day 1 Problem A 考虑求出最高位是 1 还是 0,可以推出剩下的 $n - 1$ 位二进制数在 $n - 1$ 格雷码的排名. #include <bits/stdc++.h> using namespace std; typedef bool boolean;…
Contest link A.Specific Tastes of Andre Problem link 题意 构造一个长度为 \(n\) 的序列,使得每个非空子序列的和都被其长度整除. 思路 直接每个数都是 \(1\) 即可. 代码 int main() { int T; scanf( "%d",&T ); while ( T-- ) { int n=read(); for ( int i=1; i<=n; i++ ) printf( "1 " );…
HNOI 2019 简要题解 没想到自己竟也能有机会写下这篇题解呢. LOJ Luogu Day1T1 鱼 枚举\(AD\)两点后发现\(BC\)与\(EF\)相对独立,因此只需要计算合法的\(BC\)对数与\(EF\)对数,相乘即可. 先考虑计算\(EF\)的对数.确定\(AD\)后,满足条件的\(EF\)对数即为在某个半平面内与\(D\)点距离相等的点对数目.枚举\(D\)后若乱序枚举\(A\),则需要再\(O(n)\)地处理\(A\)确定的半平面内的合法点对数目.可以按照极角序枚举\(A\…