• 2023-12-16iwtgm-36
    CodeforcesRound914(Div.2)A.遍历能攻击国王的点,用map存下再遍历能攻击王后的点,若这个点之前已经存过,说明这个点可以同时攻击国王和王后,ans++voidsolve(){inta,b;intx,y;cin>>a>>b>>x>>y;map<pair<int,int>,int>board;vector<pair<int,int
  • 2023-12-13iwtgm-35
    CodeforcesRound913(Div.3)A.把给定坐标的同一行同一列的每个数都输出(除本身)voidsolve(){charc;intd;cin>>c>>d;for(inti=1;i<=8;i++){if(i==d)continue;cout<<c<<i<<endl;}for(inti=0;i<=7;i+
  • 2023-12-12iwtgm-34
    EducationalCodeforcesRound159(RatedforDiv.2)A.只要有0就是yes因为若只有0,显然满足条件若0和1都有,一定会有01相邻的情况,我们插入0后,仍有01相邻的情况,即我们可以无限+0,那么最后0的个数一定可以大于1voidsolve(){intn;cin>>n;strings;cin>>s;intc
  • 2023-12-05iwtgm-33
    CodeforcesRound912(Div.2)A.只要k大等于2,那么每个数的位置就可以任意放置(两两交换可以到达任何位置),一定可以符合条件特判序列本来就升序,那么k的值无关紧要intn,k;inta[110];voidsolve(){cin>>n>>k;boolflag=true;for(inti=1;i<=n;i++){c
  • 2023-12-02iwtgm-32
    CodeforcesRound911(Div.2)A.注意它是动态补水的,样例看了半天才明白所以只要连续有大等于三个空格,花费就是2(第一个和第三个空格人为灌水)第二个空格的水可以无限续,那其他空格就都从这里搬运若没有连续大等于三个的空格,花费就是所有空格的数量和voidsolve(){intn;
  • 2023-11-27iwtgm-31
    题目链接A.inta[5];voidsolve(){intma=0;for(inti=1;i<=3;i++){cin>>a[i];a[i]=(a[i]+1)/2;ma=max(ma,a[i]);}intans=0;for(inti=1;i<=3;i++){if(a[i]==ma){ans=(ma-1)*3+i-1+3
  • 2023-11-26iwtgm-30
    题目链接A.解决题所花时间要小于总时间-路程时间解题所花时间为5n(n+1)/2voidsolve(){intn,k;cin>>n>>k;for(inti=1;i<=n;i++){inta=5*i*(i+1);intb=480-2*k;if(a>b){cout<<i-1;return;}}cout&l
  • 2023-11-26iwtgm-29
    题目链接A,当前数是奇数特判不是1后直接输出若是偶数就一直除以2,直至成为一个奇数,特判不是1后输出别想复杂别想复杂voidsolve(){lln;cin>>n;if(n&1){cout<<"YES"<<endl;return;}while(n%2==0){n/=2;}if(n==1){
  • 2023-11-24iwtgm-28
    题目链接最优情况是两两配对嘛,我们把它们排序,对半开去比较即第一个与n/2去比,第2个与n/2+1去比...inta[N];voidsolve(){intn,k;cin>>n>>k;for(inti=0;i<n;i++)cin>>a[i];sort(a,a+n);intcnt=0;intr=n/2;for(inti=0;i<n/2;i++){
  • 2023-11-24iwtgm-27
    题目链接A.先把菜肴按取出时间从前到后排序,因为先拿出先熟的一定最优去枚举什么时候取出第i道菜,限制是时间是在前一道菜取出的时间之后,三层循环的dp不错的状态转移intf[2*210][2*210];inta[210];voidsolve(){memset(f,0x3f3f3f3f,sizeof(f));for(inti=0;i<2
  • 2023-11-24iwtgm-26
    题目链接A.拿例子说话n1,那么在1处建信号站,信号为0n2,那么在1和2处建信号站,信号均为0n3,可以在1,2,3处建信号为0的信号站,也可以在2处建信号为1的信号站n4,可以在1,2,3,4处建信号为0的信号站,也可以在2处建信号为1的信号站并在4处建信号为0的信号站,还可以在3处建信号为1的信号站,在1处建
  • 2023-11-23iwtgm-25
    题目链接A.感觉跟欧拉没什么关系,属于带偏了因为任两个点都有来回两条边,直接从最小点出发到每一个点就好了难点在于取一段,题解代码值得学习voidsolve(){lln,l,r;cin>>n>>l>>r;llfi=0,se=0;for(lli=n-1;i>=1;i--){fi=se+1;se+=i*2;
  • 2023-11-23iwtgm-24
    A.考虑按块来计算如果这个块在两边,那么除了与这个块相邻的那一个数与这个块的数不同(一个块里的数都是一样的),其他位置上的数任选若这个块在中间,那么与这个块相邻的左右两个数与这个块的数不同,其他位置上的数任选块的大小从1-n,每个块可选数字为10种,相邻数可选数字为9种,其他位置
  • 2023-11-23iwtgm-23
    题目链接A.首先,如果只有1个机关(除高度h)那么不需要水晶试想,无论这个机关在哪里,当它关闭后,下一个机关就会开启...以此类推反而机关多了情况会更复杂设i和i-1机关都是打开的,我现在在机关i,然后i和i+1的机关会一起关闭,那么i+2一定要有一个开的机关,若没有,则需要水晶intmain(){
  • 2023-11-13iwtgm-22
    题目链接A.怪物先承受攻击,若承受住了,再回血,没承受住则死亡也就是说若我们这一轮不能把它完全杀死,就要选择让它回血最少的攻击若这一轮最大的攻击力能把它杀死则不用关心回血若不能一招致死且回血大于攻击,那么怪物永远不会被杀死voidsolve(){intn,x;cin>>n>>x;i
  • 2023-11-13iwtgm-21
    题目链接A.首先每个木板最多增加2个高度设木板a,b,c,若a与b高度相同,那么我们让b高度+1,假设b现在又与c高度相同,那么我们让b的高度再+1b只有两个相邻木板,所以b不用再改变了所以当前木板可以有3个选择:不变,高度+1,高度+2并要保证与前一块木板高度不同,那么我们枚举的时候把这个限制加
  • 2023-11-12iwtgm-20
    题目链接dp确实没想到这种递推方式,一直绕在把整个网格分成k块,又要满足颜色不同,实在解不出来dp的设置状态不是没想过,像这样的设置的确超出我的水平了现在详细讲讲只有两行,若两行的颜色块状态已知,我们是可以判断什么情况联通块会+1,什么情况是不变的,我们进行枚举即可f[i][j][ty
  • 2023-11-12iwtgm-19
    题目链接A.把两个数合并成一个数,数的总和并没有变要对应相等,那么两个数组所有数的总和一定相等,所以在最坏情况下两个数组都合并为1个数时一定满足条件求最少合并次数的话,因为要对应下标对应相等,那么当前一定要通过合并一些数让当前对应下标相等,因为合并后面的对当前没有影响
  • 2023-11-12iwtgm-18
    题目链接C.首先一列只能有一个黑格子,相邻列可以都有黑格子,只要第一列的第一个(第二个)是黑格子,第二列的第二个(第一个)是黑格子即可黑格子可以在一列的上方或下方(两种情况)要注意的是如果是相邻列都有黑格子,那么第一列黑格子的位置确定了那么所有相邻列的黑格子位置都确定了如果不
  • 2023-11-07iwtgm-17
    题目链接I.先算出一共有多少天,方便起见,算出考试总天数和发现总天数,两者相减即为差多少天一周固定三天训练,用同样的方式计算出各有多少天训练,再相减即为答案要注意的是,算当前周时,训练日期<本周星期的才算已经训练的天数voidsolve(){intx0,x1,x2;cin>>x0>>x1>>x2;
  • 2023-11-07iwtgm-16
    题目链接A.层取,因为它的高度只有2e5,我把每个高度的方格个数记录下来最后从高到低跑一遍,大于k的ans++有几个点:顺序无关紧要,所以先从小到大排个序从右往左,若前一个与当前的高度相同就continue,直到高度不相同有一个变量now,记录的是当前高度把当前高度-1的方格个数就是n-i+1
  • 2023-11-05iwtgm-15
    题目链接这个dp题还是想多说一点,感觉之前写的还是不够清晰和透彻先提一嘴,感觉这个dp不同于一般的dp,不是从1递推到n,个人理解更像是桶,后面会有很神奇的转移,真的太巧妙了先解决一些局部问题吧首先来想想重复的情况如:0,1,1这个例子中1是重复的,我们的dp转移状态是dp[i][0]+=dp[i][0
  • 2023-11-05iwtgm-14
    没时间了,只补了一个小题,自己尝试证明了下结论哈哈,还挺不错的华中D把线分成两种:一种是只影响一个正方形的,就是最外围的那一圈,是偶数条一种是影响两个正方形的(公共边),也是偶数条已知偶数位是必胜态后手只要跟着先手走,先手选最外围的走,后手就选最外围的走,先手选公共边走,后手就
  • 2023-11-03iwtgm-12
    补G题一个大模拟首先p不一定是质数,不能用逆元,用到了杨辉三角处理二次项系数首先输入就很唬人,看题解学到用标记的方式分隔系数默认为1,幂默认为1有两个字符变量相同的情况,把系数合并系数不为0才输出,系数为1不输出1,非1才有乘号,幂为1不输出t次方就是杨辉三角的第t行,0-t就是从左
  • 2023-11-03iwtgm-11
    题目链接A.能全买,就让剩余的总钱/全买,加上可得的糖数,总钱-这些花费此时不能全买,就遍历一遍,算出能买的总数再让剩余的总钱/能买的...这样是不会T的:设total为这一轮能买的糖果的总价格,last为之前剩下的钱,now为这一轮买完糖果后剩下的钱now=last%total,所以now<total,(取模肯定