CF
随缘
Hl_Zy
人类
展开
-
CF 709C
感谢这个题让我进了前1000思路(特殊条件切入):一开始想跑网络流,但边数、点数太多,所以就需要找此题和常规网络流的区别看到 M/2 ——>尽可能使用M/2这个条件构造解——>少于M/2的全选——>剩下的全是大于M/2的——>如果每天全是两个以上的,必然可以(极限情况两个全取M/2次)——>一天只有一个的必选,判断合法——>剩下的往M/2取,取满了换数#include<bits/stdc++.h>using namespace.原创 2021-03-22 01:46:59 · 266 阅读 · 0 评论 -
CF 709B
思路(特殊条件切入):看到加相同数——>等差数列 (1)看到取模——>+n*mod (2)由(1)(2)知数列每一项加上一个n*mod,构成等差数列 ——>差值1、差值为正(1)没有>mod,则此为c(2)取过mod,则c为 a+n*mod,可知mod可取无穷大2、差值为负一定取过mod,且差值为c-n*mod,由于要找最大的mod,故取差值为c-mod,不影响数列合法性分类讨论:一、差值不同,为正由1知两种情况都没有确定的c...原创 2021-03-22 01:37:04 · 218 阅读 · 0 评论 -
CF 709A
思路(根据法则构造):看到联通——>应该形成一个连通块时破坏墙数最少——>构造一种:每个格子破一面,形成一条连线——>n*m#include<bits/stdc++.h>using namespace std;#define ll long longll n,m,a,ans,ansl,T;int i,j,k,l;int main(){scanf("%lld",&T);while(T--){ scanf("%d%d",&n,&...原创 2021-03-22 01:14:57 · 198 阅读 · 0 评论 -
CF 706D
非常典型的CF题,代码量不大,但细节扣得很死,题也容易读错思路(分类讨论):看到一个往低处走,一个往高处走,尽可能走的最远——>想到最长单调子列以单调子列长度为依据讨论:1、A选非最长列上一点,则B可选最长列上最低点,A必败2、A选最长列上一点,{1} A选最长列中间的点,B直接选在下方,A必败{2}A选最长列最高点(1)B选另一条最长列,A必败(2)最长列数量唯一,B和A选中同一条最长列。 [1]A和B对着走,取决于路径奇偶 [2]A和...原创 2021-03-12 03:47:42 · 106 阅读 · 0 评论 -
CF 706C
思路(数学证明+归纳):看到对称——>坐标取绝对值——>对两个人,取距离不交叉的点代价小于距离交叉的点(两边和大于第三边)——>以此类推,对所有人,都不要有交叉的——>每个人必须取最近的,不然必有交叉#include<bits/stdc++.h>using namespace std;#define ll long longll k,n,m,a[100005],ans,ansl,b,A;int i,j,l,r,T;char ch[150];i..原创 2021-03-10 23:11:16 · 90 阅读 · 0 评论 -
CF 706B
思路(特殊条件切入):看到(a+b)/2上取整——>范围在(a,b]——>思考a和b大小关系若mex<max——>永远不可能=a,下一次操作和这一次结果相同——>统计这一次的结果若mex>max——>=a,新增一个最大的数——>下一次操作构成循环,增量为轮数#include<bits/stdc++.h>using namespace std;#define ll long longll k,n,m,a[100005],..原创 2021-03-10 23:04:03 · 79 阅读 · 0 评论 -
CF 706A
读题艰难。思路(根据法则构造):看到划分回文子串,求方案可不可行——>一个串可能有多种划分方式——>尝试找到最多能划几个,最少能划几个。#include<bits/stdc++.h>using namespace std;#define ll long longll m,a,ans,ansl;int n,i,j,k,l,r;char ch[150];int main(){scanf("%d",&n);while(n--){...原创 2021-03-10 22:53:16 · 84 阅读 · 0 评论 -
CF 1C
思路(根据题目特殊条件切入):1、看到边数<=100 ——> 可以枚举2、看到正多边形 ——>研究正多边形顶点之间的角度(X,无明显规律) 正多边形在圆上(√)——>三个点在圆上于是就可以通过找圆心、算夹角、枚举边数、检验是否为最小角度倍数,来找到最小圆,从而得到面积注意:1、特判斜率2、误差范围不能太大,玄学#include<bits/stdc++.h>using namespace std;#define ll long ...原创 2021-03-09 15:05:22 · 139 阅读 · 0 评论 -
CF 1B
模拟进制,但要注意字母并不完全是26进制,可以发现第n位和第n-1位有可能是等值的 A0=Z,所以从个位开始转十进制数字的时候特判Z,遇到Z写0,并向高位进一。#include<bits/stdc++.h>using namespace std;#define ll long longll n,m,a,ans,ans2;int i,j,k;char iptch[999];char ansch[99];int anschlen;void num2a(int o){int i原创 2021-03-09 13:31:54 · 233 阅读 · 0 评论