摘要: 性质(J 表示奇数个数,v表示n为奇数,x表示偶数) 1:1 0001 J 1 V 2:3 0001|0010 = 0011 J 1 X 3:0 0011|0011 = 0000 J 2 V 4:4 0000|0100 = 0100 J 2 X 5:1 0100|0101 = 0001 J 3 V 阅读全文
posted @ 2024-09-30 09:28 Jucex 阅读(1) 评论(0) 推荐(0) 编辑
摘要: [JLOI2013] 卡牌游戏 首先我们对题目进行观察发现,在我们进行选牌的时候会在特定轮回中枪毙一个人,随后,进行下一轮 我们会很自然的想到dp,但是,如果从头开始顺,会发现后面的每一种情况都会影响到前面的状态,这样就违反了我们进行DP的初心,甚至朴素做法会比DP更省时间 这怎么办呢?我们举一个栗 阅读全文
posted @ 2024-09-30 08:19 Jucex 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 因为前缀和/差分学习的时候就不熟,所以特选本题作为训练 作为一道差分题,本题的思路也是特别的绕,首先进行基础知识的复习 【差分】 简单来说就是两个数的差,b[i]=a[i]-a[i-1] 把序列a的区间 [l,r]+d 的话,差分序列b则进行以下变化: b[l]+d,b[r+1]-d 前置知识大概就 阅读全文
posted @ 2024-09-10 20:32 Jucex 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 【HNOI2003】 激光炸弹 一道二维前缀和,是一道比较经典的纯板子题目,针对这道题,我将再次进行二维前缀和的梳理 首先,要进行前缀和数组的推理得到d[i][j]+=d[i-1][j]+d[i][j-1]-d[i-1][j-1]; 但是这也可以用以下代码实现: for(int i=1;i<=max 阅读全文
posted @ 2024-09-10 19:17 Jucex 阅读(7) 评论(0) 推荐(0) 编辑
摘要: 一道朴素的二分题,二分的基础很不好所以选择了这道 本道题主要进行二分的考察 容易发现,对于给定的序列,n越大能过的题是越少的,所以可以二分来求刚好过k道题的左右边界。 若mid大于k,即做得太多了,就将l右移。 若mid小于k,即做得太少了,就将r左移。 代码实现: #include<bits/st 阅读全文
posted @ 2024-09-09 16:32 Jucex 阅读(7) 评论(0) 推荐(0) 编辑
摘要: 【P5587】打字练习 【废话】首先,作为我练习字符串的一道题,很自然的意料之中的遇到了瓶颈 【前置知识】 字符的输入 久远的记忆让我以为 gets 还能用,于是就RE了,后来又用scanf("%[^\n]",s);,但是由于没有熟练掌握,换为getchar getchar一次只能进行一个字符的读入 阅读全文
posted @ 2024-09-08 22:45 Jucex 阅读(5) 评论(0) 推荐(0) 编辑