A 简单的排序问题 B 有2n张牌,每张牌有一个数字,1到n每个数字出现2次,这些牌被分成k堆,每次能选两个不同的堆,从堆顶拿走数字相同的两张牌,不能操作者输,告诉你每个堆的牌的排列情况,问先手胜还是后手胜 最终结果唯一 直接模拟即可。 C 给定数组C,$C_i=$0或1,问你有多少个数组对(A,B),满足 \(A_
当成大模拟写了,就是开了四个set辅助 今天才知道set的find函数是logN的,因为里面封装了红黑树(喵喵喵? re了一发,又t了一发 理论上模拟的时间复杂度不会t,所以猜测是因为set没写好,没找到东西,卡了 re了应该是数组没开够 修修改改终于补了队友赛时过的题,码量还是不够,继续努力啊 #include<
对于$(i,j)$,令$i=2^{a_1} \times 3^{a_2}\times 5^{a_3}\times...$,$j=2^{b_1}\times 3^{b_2}\times 5^{b_3}\times...$$dist(i,j)=\displaystyle \sum_{k=1}|a_k-b_k|$我们枚举每个质数$p$,考虑有多少点对会跨过它。枚举$p^c$,可以分成$p^c$的倍数和不为$p^c$的倍数这两个
F - Reports 题意: t组样例,每个样例给你一个n,接下来n个数只包含0和1(0为离校,1为出校) 你需要判断这n个动作中是否有记录错误的。 思路: 出校和离校必然都是挨着出现的,即当出现两个相同动作时就出现错误。 代码: #include<iostream> using namespace std; int a[100]; int main() {
题解: 因为只能前面大的和小的换,只要换的时候把大的数都往前放,例如 8 6 9 3 1 要把8换到1的位置,不能直接换,要先8,6交换;8 ,3交换;最后8,1交换;变成 6 3 9 1 8 ;这样6 3 1这3个比8小的数的相对位置就没变,对接下来的操作就没有影响; 代码: #include<bits/stdc++.h> using namespace
好忙,不过题还是得补,欠了好多了已经。 J Suffix Automaton 场上没看见第一关键字是长度,还跟队友反复确认是不是本质不同,还剩17分钟rush了一个,结果发现样例都过不去,成功没写完这个F。 如果按照第一关键字为长度排序的话依然可以二分出答案的长度。后缀排序之后一个后缀会贡献 \([ht_
题目地址 赛中到最后时间不够,写的时候脑袋混乱,后来因为不明错误样例都没调过...没拿金我背大锅。 赛后重新整理下思路,直接A了,哎.... 思路:首先对子串字典序问题有个经典做法是反串建后缀自动机,然后建出parent树,其中在建树时边权是子节点比父节点刚好多出一个的字符,这样这个树的dfs
A 正反各跑一遍匹配 正着满足,反着不满足,没有坐反 正着不满足,反着满足,坐反 都满足,不知道 #include <bits/stdc++.h> using namespace std; int n , m , x , y , a[20] , b[20] , c1[20] , c2[20] , op , t1 , t2; int main() { cin >> n >> x >> y; for( register int
在桂林前一周一直补软件工程实验,差点被队友提刀砍死。还好我的队友还是很心平气和的来叫我刷题,虽然我不听 热身 转眼就到了热身赛,实验还没写完。热身赛开始后,先是3个人看3个题,然后差不多十分钟,三个人分别来了句,我懂了简单。纠结了下谁先写就看了眼榜,A题有人过了,A题先写。 式子一推
2021.11.3 CCPC桂林 打铜总结 1.比赛体验 感觉主办方从一开始就非常欢乐,然后各种聊天也非常友善。血亏没去线下。(我与疫情不共戴天!!!) 感觉这次体验还不错,就是志愿者配环境非常辛苦(辛苦各位志愿者了!!!) 题目质量我感觉还行,反正我们队也只开了几个题,至少从开了的题看是这样(菜)。系统
前两周都没怎么训练呜呜,作业太多了 http://codeforces.com/gym/103389 5道签到题就不放code了毕竟打完找不着了 C 连锁商店 状压DP,场上只能想到 \(O(2^n n^2)\)的做法,还觉得他卡不满,T了一发发现完全图就直接爆炸了。然后也不会优化,后来学到两种处理方式。 一种是题解的做法,将点分
Pro 2018 China Collegiate Programming Contest - Guilin Site Sol A. Array Merge 贪心,如果没有顺序的限制,数字大的越靠前越优,而现在有顺序,所以把前i个元素综合考虑。 设前i个元素的平均值为a,则当新的值A[i+1]放进来的时候,判断A[i+1]最远能合并到哪,就把A[i+1]与放到该集合
题意:给定一个整数序列,进行q次操作,每次操作要么讲整个区间+1,要么查询某两个等长的区间是否完全相同,每次操作都要对65536取模。 思路:判断相同可以用哈希,所以用线段树维护下就行了。然后考虑怎么处理对65536取模,在线段树上再维护个最大值,每次更新后看最大值是否大于65535,然后暴力往下
Cut The Wire Problem Description In the country of Infinity , there is a strange road. This road only has a starting point, but no end. Since this road is infinite, there are also countless street lights. The street lights are numbered from 1(the startin
文章目录 一、1002 Kanade Doesn't Want to Learn CG二、1004 Primality Test三、1005 Monopoly四、1006 Nun Heh Heh Aaaaaaaaaaa五、1010 Bigraph Extension六、1011 Jumping Monkey 一、1002 Kanade Doesn’t Want to Learn CG 简单数学问题:判断位置即可 #include <b
前言 这次题解有点简陋,后面会慢慢更新优化,先凑合着看。有问题在群里或者评论区里直接说就行。 7-1 小学题目 四舍五入取整,只需要判断小数点最后一位就可以。考查对字符串的处理。用long double也可以过。 n的范围 0 < n <= 1e18。double的精度为精度为2^52-1=450359962737049
1005: 二分题,题目不难,思路也简单清晰的,考的是细节 每个数首先如果刚好有我这个值,那么肯定直接拿,否则要靠前缀和拿多轮的话肯定是拿的轮数越少越好,那么就把模完以后相同的前缀放到一个\(vector\)里面,直接二分找到小于等于我的那个即可,负的情况就是大于等于我的那个。注意模0的情况。
题意 你有一个长度为\(n\)的序列\(a\),你的起始分数为\(0\),你第一次跳跃会从\(0\)到\(1\),然后接下来你每次跳跃都会从\(i\)号点跳跃到\(i+1\)号点,特殊的,如果你在\(n\)号点,那么你的下一个点就是\(1\)号点,你每到达一个点一次,那么你就能获得这个点的值\(a_i\),现在给你\(m\)次询问每次
暴力很容易写,找一下规律,可以发现: 实际上不用找规律,显然\(2 \to p\),每个合数肯定是被某个质因子连上去 对于质数\(p(>3)\),首先有\(2 \to p\)的边,之后有\(p \to p \cdot (p+2k)\)的边,其中\(k=0,1,2,3,\cdots\) 最后连上\(2 \to *\),其中\(*\) 从未被连过 那就很容易发现,\(*\)只能是
大意:给你一个整数N,代表字符串长度,每个位置上的字符可以是’C’ 或者 ‘P’,长度为N的字符串中有2^N种,为这些字符串中,包含几个‘CCPC’(一个字符串中的有贡献的ccpc要求不重叠) 思路: 长度为N, 包含一个‘CCPC’: 空的位置数是N-4,每个位置可以填两种字符,由插空法可知‘ccpc’有(N-4
A.Matrix 挺狗的一道题,从开始冲到最后都没冲出来,都没啥思路。 其实分开考虑每个数的贡献,这个想法也存在过,就是不知道该怎么计算,我们考虑我们单独考虑一个数字\(i(1\leq i\leq n)\)的贡献,其实就是在有一行答案是\(i\)的情况下总的方案数有多少个。同时我们注意到,每个不同的数之间是
Buy and Resell 题意: 有一个物品有\(n\)个价格,从\(1\)到\(n\)遍历,对于每个价格\(a[i]\),可以花\(a[i]\)购买,或者把现在拥有的物品以\(a[i]\)的价格卖出赚取差价,或者什么都不做,问最终能获得的最大收益以及最大收益下的最小交易次数 思路: 遍历过程中维护一个集合,表示当前可以获得的\(
五月份是一个忙碌的季节,高三同学们忙着准备高考,而我们征战各种邀请赛,5月12、13日的ccpc湘潭邀请赛,5月17、18的icpc西安邀请赛,6月1、2的icpc南昌邀请赛,忙碌而快乐着、快乐中夹着悲伤。战绩不好,湘潭南昌拿了铜,西安打铁了。 从去年9月份省赛到现在5月份初,我经历
https://vjudge.net/problem/Gym-102832J J - Abstract Painting 题意 在一个平面上画圆,要求如下: 圆的半径\(r\in{1,2,3,4,5}\) 圆心在x轴上 圆上所有的点的横坐标\(x\in[0,n]\) 任意两个圆只能有一个交点(可相切,不可相交). 给定n,和一些必须存在的圆。 问平面上最后的
恍惚间,2020已经过去,我也成为了大二的学长。回顾自己的2020,会发现什么呢? 会有后悔 2020是很特殊的一年,由于疫情的原因,大一下学期我们在家里线上学习。线上学习的唯一好处可能就是我终于可以光明正大的摸鱼了,我想,可以趁着这段时间好好学习算法,锻炼自己的思维能力。当我开始实施