10 2019 档案
摘要:听说这个东西有很多种写法什么的,来不及了(要退役了),先整一个之前用到的,可能用到的频率比较高的东西上来。 这种写法是当时要定义一个什么 然后里面是红黑树(所以也自带排序来着),这里结构体的小于号要重载,或者给优先队列定义一个比较法则,否则会。 由于只是一个标记
阅读全文
摘要:平时定义的时候,直接上就完事了: 默认大根堆。 之前很菜的时候不知道小根堆怎么写,还在考场上干过加个负号甩到大根堆里面去的蠢事。 它的完整形式呢,其实是长这个样子的: 然后就是一些特殊的情况: 用pair的时候,先按first,再按second 自动排序 。 如果要自定义排序的话,可以写一个$cmp
阅读全文
摘要:这道题也是一道非常有意思的区间,和在纪中的这道题有点像:取数游戏 (除了取数规则其它好像都一样诶) 当时在纪中的时候就觉得这个非常不好想,状态定义都不是很容易想到。 但是做过一道这种题之后就要好多了。 以下才是正题: 两人都按照最优策略进行游戏的话,就可以定义状态
阅读全文
摘要:做完之后看到题解里面很多bfs,dfs,甚至还有dp? 写了一个不知道怎么称呼它的方法,暂且叫他乱搞吧。 用数组a[][]预处理出以当前行作为最底层,这一列从上往下的最长的1的长度。 如果这个格子为0的话,a[i][j]就是0,当然也可以特殊标记一下(比如我就用的-1) 统计答案的时候,就枚举每个非
阅读全文
摘要:题目传送门 题意: 给定一个n个点m条边的无向联通图,没有重边和自环。给定s和t,求一棵生成树,使得s,t的度数不超过ds,dt。若有解,输出“Yes”和方案(多组方案输出任意一组),若无解,输出“No”。 数据范围: 2 ≤ n ≤ 200 000 分析: 首先,可以把边分成两类:一类是端点含s或
阅读全文
摘要:题目传送门 题目大意: 一个的网格图,每个格子可以染黑色、白色,问每个格子最多有一个相邻格子颜色相同的涂色方案数 分析: 首先,考虑到如果有两个相邻的格子颜色相同,那么这两行/列的格子状态就确定了。比如: 在中间两个爱心格子被确定的情况下,第二列和第三列的涂色情况就已经
阅读全文
摘要:题目传送门 题意: 给定一个括号序列,随意交换两个位置的括号之后,问有多少个不同长度的圈。关于圈的定义大概就是:将括号序列的后个数放到括号序列的最前面,就是长度为的圈。(看了好久题意emmm...) 分析: 首先,我们可以暴力枚举交换的位置,然后再看有多少个圈。 然后,对于括号
阅读全文
摘要:题目传送门 题意简述: (就是连环的意思) 唔,这道题考场上写了个什么神仙做法,数据太水了居然过了: 反例还是很容易构造的吧,比如不能被整除的情况(看了下面的分析就可以轻而易举地举出好多反例来了) 分析: 1.左右两个数的异或值等于中间的数,那么任意相邻三个数的异或和一定为 2.考
阅读全文
摘要:题目传送门 考场上面做了一个暴力的做法,然后,然后他了。 emmm...(就算了吧,了算什么事啊) 好吧,这道题,其实好像...是一道思维题来着。 如果出现了这样两个打X的格子上的字符相同,那么全局则一定有两条以上的字符串一样的路。因为从(1,1)有一条路到左上角,左上角到右下
阅读全文
摘要:文章目录 DescriptionInputOutputSample InputSample OutputHint分析环套树 实现BTW Description Z国的骑士团是一个很有势力的组织,帮会中汇聚了来自各地的精英。他们劫富济贫,惩恶扬善,受到社会各界的赞扬。 最近发生了一件可怕的事情,邪恶的
阅读全文
摘要:这道题乍一看没有什么思路,细看还是没有什么思路 嗯,细看还是可以看出些什么端倪。 不能复合嵌套什么的 总结一下就只有这样3种规则: 1.IXCM最多三个同样连续 加起来2.递减:加起来 注意VLD不连续出现3.IXCM在比它大1级或2级的数前面 表示减 罗马数字各位独立应该比较显然吧 如果去掉最高位
阅读全文
摘要:这道题加了2个看起来奇奇怪怪的 1.输出格式:不得不说这个格式输出很恶心,很像的风格,细节稍微处理不好就会出错。 因为这个还了一次: 就是刚刚好个数是整十数的时候,外面的循环是没有用的,循环虽然进不去,外面的却能被输出,所以就会错。 其实$m
阅读全文
摘要:题目传送门 饲料种数只有15 枚举每种选或不选一共也就只有 爆搜可过觉得bfs要快一些? 但是dfs更方便处理字典序 只需要顺序遍历并且先搞选它的情况就可以了 而且在这种规模的数据下我们也不需要它跑得很快对吧(笑) 1 /* 2 ID: Starry21 3 LANG:
阅读全文
摘要:题目传送门 这道题还记得是我当年学广搜的时候做过。 如今再做,做了一个版本的,比较简单,直接搞就可以了。 广搜的话,用结构体保存,然后塞到里面就可以了。 1 /* 2 ID: Starry21 3 LANG: C++ 4 TASK: ariprog 5 */ 6 #inclu
阅读全文
摘要:题目传送门 回忆童年 1 /* 2 ID: Starry21 3 LANG: C++ 4 TASK: ariprog 5 */ 6 #include<iostream> 7 #include<string> 8 #include<cstdio> 9 #include<cstring> 10 #inc
阅读全文
摘要:题目传送门 题目的提示已经非常明显了,可以先生成回文数再判断质数,因为生成回文数的复杂度较小。判断质数用了之前学到的那种做法。 其实可以用一些比较优秀的筛质数的方法,再判断回文数。 1 /* 2 ID: Starry21 3 LANG: C++ 4 TASK: numtri 5 */ 6 #incl
阅读全文
摘要:题目传送门 每一个特殊质数都会被从右边切掉,所以除了首位外的其它位数一定都不会是偶数,只能是,,,, 而每一个特殊质数的首位一定是质数,也就是,,,这四个。 然后大体思路就是一直不停地往初始数上加,,,,,判断是不是
阅读全文
摘要:首先,这个整数的标准分解非常的显然易见对吧: 一般我们要把一个数分解成这个样子我们可以这样写: 由于是分解质数,而且质数除了2之外都是奇数,所以可以在枚举i的时候每次i+=2 例题:ABC142D(手边没有什么好题了,只是因为最近做到了它2333) 要找互质的公因数,就相当于找最大公因数的最多互质的
阅读全文