随笔分类 -  补题*总结题

日常训练题总结
摘要:题目链接 题意 题目大意 给出n 个数,对于每个数 x 可以将每个数分成k个大小相等的数$\frac{x}{k}$(k>2且k时x的因子),1 不可再分,问什么时候先手会胜。 思路 对于每个数,显然是1 必败,而 质数 必胜。 否则对于一个数n ,从2 到n,将n 按题意分解, 根据SG函数的性质, 阅读全文
posted @ 2022-09-15 14:35 kingwzun 阅读(42) 评论(0) 推荐(0)
摘要:B Magical Subsequence DP 题意: 给定一个序列 A,选择一个长为偶数的子序列 B,使得 B1+B2=B3+B4...,问这个满足条件的子序列最长能是多少。 代码 #include<cstring> #include<cstdio> #include<iostream> #in 阅读全文
posted @ 2022-09-13 22:18 kingwzun 阅读(143) 评论(0) 推荐(0)
摘要:题目 题意: 给定一些点,求出任选三点的最大三角形面积 题解: 首先想到最大的面积应该出现在凸包上。~~(应该很好猜)~~ 思路: 暴力枚举凸包上的任意两点, (这个过程不太好描述,看代码ba)可以想到,第三个点是单向的(也就是下标只会增加), 因此复杂度是:$n^2$ 代码: #include<b 阅读全文
posted @ 2022-09-13 21:50 kingwzun 阅读(118) 评论(0) 推荐(0)
摘要:题意 在二维平面内有 n 条线段,请你编写一个程序,判断是否存在一条直线满足将这 n 条线段投影到该直线上后,所有的投影线段至少具有一个公共点。 思路 转化题意 ~~我们发现~~如果可以找到一个直线与所有的线段都相交; 那么所有的线段的投影一定都交于这个直线与其垂线的垂足处。 那么问题就转化为如何找 阅读全文
posted @ 2022-09-12 20:53 kingwzun 阅读(41) 评论(0) 推荐(0)
摘要:题意 一个盒子被分成了若干个区域,有m个小球,问每个区域里分别有多少个小球。 数据保证玩具不会恰好落在纸板上,也不会落在盒子外。 思路 如何判断小球是否在一个区域内? 我们发现一个小球在区域x,也就是说所有编号小于x的所有隔板都在小球坐标的左边,所有编号大于x的隔板都在小球坐标的右边。 因此问题就变 阅读全文
posted @ 2022-09-12 17:25 kingwzun 阅读(53) 评论(0) 推荐(0)
摘要:题意 你本身有一个权值。 每个点有一个权值,到达一个点可以获得这个权值; 每条边也有一个权值,只有你自己当前权值大于等于边权才可以走这条边。 q次询问,每次给出初始点和初始边权,输出可获得的最大边权。 思路 krustal重构树 一个点可以获得自己子树所有点权之和。 子树求和 + 倍增跳就好了 代码 阅读全文
posted @ 2022-09-07 20:59 kingwzun 阅读(52) 评论(0) 推荐(0)
摘要:原题链接 题意:判断图和补图 是否含有三元环 拉姆齐定理 拉姆齐定理: 在一个大于等于6个点的 完全图中,用红蓝两色染色,一定存在一个红色或者蓝色的三角形。 或者说:在总人数大于等于6的时候,一定存在这样的三个人,他们相互认识,或者相互不认识。 所以 点数n大于等于6:直接输出bad team,否则 阅读全文
posted @ 2022-09-07 17:06 kingwzun 阅读(104) 评论(0) 推荐(0)
摘要:题目链接:https://vjudge.net/problem/HDU-6153 题意 求一个串T的所有后缀在串S中出现的次数. 给定母串str1,匹配串str2 str2[i-n]在str1中出现的次数为num[i] str2[i-n]的长度为len[i] 求$∑(num[i]×len[i])$ 阅读全文
posted @ 2022-09-05 20:12 kingwzun 阅读(59) 评论(0) 推荐(0)
摘要:题意 给出 n 个互不相同的正整数。 问存在多少个子集,使得子集中所有数的异或和是质数。 由于答案可能很大,请你输出对 109+7 取模后的结果。 分析 题意就是指: 从一堆元素中挑选元素,达到指定的要求的题目,符合01背包的性质。使用01背包即可 求背包大小: 由于数据范围最大不超过5000, 异 阅读全文
posted @ 2022-09-02 21:49 kingwzun 阅读(60) 评论(0) 推荐(0)
摘要:题意: 给你一个长度不大于1e6的字符串,由'a'-'z'或‘?’组成,且‘?’可转化为任意小写字母。和两个数x,y。 现在有两个条件: 字符串中存在任意一个长度为x的子串均为元音,或存在任意一个长度为y的子串均为子串。 字符串中所有的任意一个长度为x的子串不都是元音,且存在任意一个长度为y的子串不 阅读全文
posted @ 2022-08-30 22:09 kingwzun 阅读(39) 评论(0) 推荐(0)
摘要:题意: 给你n个高度,再给你1 ~ n每种高度的数量,已知高度连续的3 ~ 5个能消去,问你所给的情况能否全部消去;例:n = 4,给出序列1 2 2 1表示高度1的1个,高度2的2个,高度3的2个,高度4的1个。那么我打出1 1 1(高度1 2 3),1 1 1(高度2 3 4)刚好打完。 思路 阅读全文
posted @ 2022-08-29 21:30 kingwzun 阅读(35) 评论(0) 推荐(0)
摘要:Same GCDs 原文 题意: 给定a,m 求x在 $[0,m)$ 中有多少数字满足 $gcd(a,m) =gcd(a+x,m)$ 思路: 我们令$g= gcd (a,m)$ 那么$a = k_1g$ , $m=k_2g$,且$gcd(k_1,k_2) = 1$ 那么问题就变成了在$[a,a+m- 阅读全文
posted @ 2022-08-17 22:10 kingwzun 阅读(42) 评论(0) 推荐(0)
摘要:https://vjudge.net/problem/POJ-1664 题意: 把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法? DFS 思路 用的深搜的办法,每次后面的数都会 大于等于 前面的数字。 代码: int n, m, sum; void dfs(int 阅读全文
posted @ 2022-08-11 10:17 kingwzun 阅读(39) 评论(0) 推荐(0)
摘要:J Number Game 签到 推公式即可 代码: #include <bits/stdc++.h> #define endl '\n' // #define int long long using namespace std; const int N = 205, M = 805; int n, 阅读全文
posted @ 2022-08-10 20:15 kingwzun 阅读(39) 评论(0) 推荐(0)
摘要:题目链接 题意 n个陪审团的候选人,从这n个人中选m人组成陪审团。 选出的m个人,必须满足辩方总分和控方总分的差的绝对值最小。如果有多种选择方案的辩方总分和控方总分的之差的绝对值相同,那么选辩控双方总分之和最大的方案即可。 思路 DP过程 dp状态: 用三维DP dp[i][j][k]表示第i个人已 阅读全文
posted @ 2022-08-06 10:33 kingwzun 阅读(38) 评论(0) 推荐(0)
摘要:群友的题意https://docs.qq.com/doc/DVXJqWHZrRGtFbWR2 K Headphones 水题 题意: 代码: #include <iostream> #include <cstring> #include <vector> #include <bits/stdc++. 阅读全文
posted @ 2022-08-03 15:23 kingwzun 阅读(72) 评论(0) 推荐(0)
摘要:K NIO's Sword 思维 题意: 玩家初始有一把攻击力为A=0的剑,需要依次击杀 𝑛$(n<1e6)$ 个敌人,仅当攻击力模 𝑛 与 𝑖 同余才能击杀第 𝑖 个敌人。玩家可以升级剑,每次升级相当于$A=10×A+x$,x为1-9的任何一个数,问最少需要几次升级,才成杀死所有的敌人。 阅读全文
posted @ 2022-08-01 08:11 kingwzun 阅读(24) 评论(0) 推荐(0)
摘要:2 C++ to Python 水题 签到,只要无视字母、下划线、冒号后输出即可 9 ShuanQ 逆元 题意: 已知 M是质数,$P × Q ≡ 1,,, mod, M$。 加密公式: $encrypted_{data} = raw_{data} \times P \mod M$ 解密公式: $r 阅读全文
posted @ 2022-07-29 17:19 kingwzun 阅读(62) 评论(0) 推荐(0)
摘要:Cyber Language 字符串输入 签到题 题意: 读入一行小写字母组成的单词,输出每个单词的首字母 注意几点即可: cin是不会吃掉回车的,所以我们需要getchar手动吃掉回车, 关了同步后,是不能用getchar的,需要使用cin.get()来吃掉回车。 代码1:关闭快读 void so 阅读全文
posted @ 2022-07-27 09:48 kingwzun 阅读(87) 评论(0) 推荐(0)
摘要:C、Concatenation 思维 题意: 给定n个字符串,请重新排列他们,使得最后组成的字符串的字典序最小。 代码: bool cmp(string &a, string &b) { return a + b < b + a; } string s[MAXN]; void slove() { i 阅读全文
posted @ 2022-07-25 20:36 kingwzun 阅读(105) 评论(0) 推荐(0)