随笔分类 - 枚举
摘要:【链接】h在这里写链接【题意】给你n个电话号码。让你给每一个电话号码选定一个字符串s;使得这个串s是这个电话号码的子串。且不是任何一个其他电话号码的子串。s要求最短。【题解】字典树。每个电话号码,1,2,..length(s)开始的长度为length(s)...3,2,1的子串。依次从根节点加入到字...
阅读全文
摘要:【链接】h在这里写链接【题意】给出一个字符串,求出至少不重叠出现2次以上的子串有多少个。【题解】枚举要找的子串的长度i;根据height数组,找出连续>=i的height;这几个起始的位置的后缀的最长公共前缀都大于等于i;且它们起始位置开始的长度为i的串ts都是一样的。(且没有其他和它们一样起始i个...
阅读全文
摘要:【链接】h在这里写链接【题意】给你一个长度为n的数字(n只枚举8的倍数就可以了。小于等于3位的情况,特殊判断一下就好。然后剩下的数字,先放一个最小的非0数字在开头。剩下的从小到大安排就可以了。(可以把它放在字符串vector里面.最后排下序输出最小的就好了)【错的次数】0【反思】在这了写反思【代码】...
阅读全文
摘要:【链接】h在这里写链接【题意】在这里写题意【题解】枚举0在哪个位置就好。【错的次数】0【反思】在这了写反思【代码】#include using namespace std;const int N = 1e3;int t[N + 10], a[N + 10], n;int f(int pos) { i...
阅读全文
摘要:【链接】点击打开链接【题意】小 T 被放到了一个迷宫之中,这个迷宫由 n 个节点构成,两个节点之间可能存在多条无 向边,小 T 的起点为 1 号节点,终点为 n 号节点。有 m 条无向边,对于每一条无向边,存在 一个喋血值(∈N*,且≤100),即走过这条边的花费。另外,还有 k 个节点上有治疗药,...
阅读全文
摘要:【链接】h在这里写链接【题意】给你n个城市,m条边.选择其中的r(rusing namespace std;const int N = 200;const int INF = 0x3f3f3f3f;int n, m, r, ans = INF;int bh[N + 10], dis[N + 10][...
阅读全文
摘要:【链接】h在这里写链接【题意】给你n个数,a1,a2,……,an,两人轮流从中改数,每次选一个素数p和一个正整数k,将a1到an中所有可以被p^k整除的数除p^k。当玩家在他的回合把所有数都变成1后,该玩家就赢了。【题解】每个素数的游戏都是独立的。比如2 3 4p=2的游戏和p=3的游戏。会发现是独...
阅读全文
摘要:【链接】h在这里写链接【题意】定义bad list是一个非空的、最大公约数为1的序列。给定一个序列,有两种操作:花费x将一个元素删除、花费y将一个元素加1,问你将这个序列变为good list所需要的最小花费是多少。【题解】枚举gcd为i.这里的枚举,并不是说确切这些数字的gcd就是i;而是枚举这些...
阅读全文
摘要:【链接】h在这里写链接【题意】有n个人,它们都要在某一时刻开始,全都到达0位置,然后维持最少k个时间单位,然后再全都回到原来的位置;第i个人初始的位置是i.且一共有m班航班.每一班航班,要么是从0出来的,要么是进入0的,且航班起飞的时间为di,出发地为fi,目的地为ti,花费为ci;(航班当天到);...
阅读全文
摘要:【链接】h在这里写链接【题意】在这里写题意【题解】枚举分子从高到低就好.这样得到的一定是最大的。(可以约分没错,但是约分过后和就不是n了,所以不会有错的)【错的次数】0【反思】在这了写反思【代码】/**/#include #include #include #include #include #in...
阅读全文
摘要:【链接】点击打开链接【题意】给你n个数字,每个位置上的数字可以+1,不变,或-1,每个位置只能操作一次.操作完之后,让你选一个数字x,然后统计a[i]==x的个数count.问你count的最大可能值。【题解】枚举x.然后统计x-1,x,x+1的个数.输出答案【错的次数】0【反思】在这了写反思【代码...
阅读全文
摘要:【链接】点击打开链接【题意】n个点,x从左到右严格递增的顺序给出让你划两条平行的,且没有相同点的直线;使得它们俩各自最少穿过一个点.且它们俩穿过了所有的点。【题解】枚举第一个点和哪个点组成了一条线,把在线上的点去掉,然后看看剩下的点是不是组成了一条和它平行的线。且穿过了所有的点。再枚举第一个点单独组...
阅读全文
摘要:【链接】点击打开链接【题意】给你一个0..n和0..m的区域.你可以选定其中的4个点,然后组成一个正方形.问你可以圈出多少个正方形.(正方形的边不一定和坐标轴平行)【题解】首先,考虑只和坐标轴平行的情况。则长度为L的正方形有(N-L+1)*(M-L+1)个.然后引入一个bounding box的概念...
阅读全文
摘要:【链接】点击打开链接【题意】水题【题解】枚举b从x..y看看k*i是不是在l..r之间就好。【错的次数】0【反思】在这了写反思【代码】#include #include #include #include #include #include #include #include #include #i...
阅读全文
摘要:【Link】:http://acm.hdu.edu.cn/showproblem.php?pid=6127【Description】 平面上有n个点,每个点有一个价值,每两个点之间都有一条线段,定义线段的值为两个点价值的乘积,现在让你找一条过原点的直线(直线不经过任何一个节点),将...
阅读全文
摘要:【Link】:http://acm.hdu.edu.cn/showproblem.php?pid=6069【Description】 定义d(i)为数字i的因子个数; 求∑rld(ik) 其中l,rusing namespace std;#define lson l,m,rt= b...
阅读全文
摘要:【Link】:http://codeforces.com/contest/835/problem/C【Description】 给你n个星星的坐标(xi,yi); 第i个星星在第t秒,闪烁值变为(si+t)%(c+1); 给你q个询问,每个询问由时间t和一个矩形的左下角和右上角组成...
阅读全文
摘要:【Link】:【Description】 给你n个点整数点; 问你这n个点,能够组成多少个正多边形 【Solution】 整点只能构成正四边形. 则先把所有的边预处理出来; 枚举每某两条边为对角线的情况; 看看这两条对角线能否组成一个正方形; 可以的话,递增答案. 【Numbe...
阅读全文
摘要:【Link】:https://csacademy.com/contest/round-39/task/circle-elimination/【Description】 【Solution】 把n个点依次标为1..n; 然后按照数字大小给每个人排序(记录它原来的位置); 走到第一个人...
阅读全文
摘要:【Link】:【Description】 有一个n(n≤1000)位密码锁,每位都是0~9,可以循环旋转。每次可以让1~3个相邻 数字同时往上或者往下转一格。例如,567890->567901(最后3位向上转)。输入初始状态 和终止状态(长度不超过1000),问最少要转几次。例如,...
阅读全文

浙公网安备 33010602011771号