思维优化
凝望_XXW
这个作者很懒,什么都没留下…
展开
-
Educational Codeforces Round 35 (Rated for Div. 2) D. Inversion Counting
题目链接:http://codeforces.com/contest/911/problem/D题意:判断对区间[l,r] 内的元素逆序后,整个数列中逆序数对 的个数的奇偶性思路:对只输出奇偶判断的 思维优化 区间[l,r]逆序后,不影响[1,l]、[r,n]之间的逆序数对个数,每交换两个数,奇偶性变一次区间[l,r]逆序后,一共交换了(r-l+1)*(r-l)次#incl原创 2018-02-05 14:14:06 · 141 阅读 · 0 评论 -
E. Divisibility by 25 (暴力)
题意:给你一个整数n(1<= n <= 1e18), 并且保证其最左边的数字非0,现在你可以执行一种操作:交换两个相邻的数。要你求出最小的交换次数,使得交换后的数能被25整除,并且其最左边的数不能为0,如果无法被25整除,则输出-1算法:暴力思路: 数字的长度最多只有18能被25整除的尾数必定是 “00”、“25”、“50”、“75”其中一个,称这4组数为“换后尾数”首选暴...原创 2018-06-05 13:38:06 · 489 阅读 · 0 评论 -
B. XK Segments (二分)
题意:给你三个整数,n,x,k。再给你一个大小为 n 的数组a,要你找出不同的下标对 (i,j) 的对数,是其满足:a[i]<=a[j] 且 在 [ a[i] , a[j] ] 内,恰好有k个能被x整除的数。算法:二分思路:先sort一下,因为要求的只是下标对数所以sort不影响。1~n 遍历a[i], 对于每一个a[i], 从 a[j]>=a[i] 的范围里,计算得到 最小满...原创 2018-06-01 09:22:35 · 279 阅读 · 0 评论 -
C. A Mist of Florescence (构造)
题目链接:http://codeforces.com/contest/989/problem/C题意:给你四个数:a, b, c, d,分别对应 ‘A’ , ‘B’ , ‘C’ , ‘D’。 让这些对应大写字母在一个n*m的二维图里的联通块个数等于其对应的数字。二维图的行数列数都是 1<= n,m <=50。构造好图后输出n和m的值,和构造好的二维图。算法:构造思路:直接设图的...原创 2018-06-17 20:39:36 · 213 阅读 · 0 评论 -
C. Hard problem (dp)
题目链接:http://codeforces.com/contest/706/problem/C题意:要使n个字符串变为字典序。只能进行一种操作:将第i个字符串reverse,并消耗c[i]的能量。求消耗的最小的能量算法:数据量100000,时限1s,只能用dp思路: 状态:dp[i][j]表示前i个字符串变为字典序所消耗的最小能量。j==0时表示第i个字符串不反转,j==1时表示第i个...原创 2018-07-26 15:15:16 · 343 阅读 · 0 评论 -
E. Border (数论)
题目链接:http://codeforces.com/contest/1011/problem/E题意:给你一个数k,以及n个十进制数,要求出在k进制下,在这n个数中任取任意个某数或某些数相加,可能的最后的一位数字有哪几种。算法:数论,找规律思路:现将这n个数全部转换成k进制,对k取余,即可得其最后一位数。接下来只需要对这些取余后的数操作即可,之前的不影响。可以发现,设某数值为a,任意个a...原创 2018-07-27 14:47:19 · 285 阅读 · 0 评论 -
C. Photo of The Sky
题目链接:http://codeforces.com/contest/1013/problem/C题意:给你2*n 个整数,要求你把这2*n个数分为两组,一组为x坐标,一组为y坐标,每组n个数。任你选一种组合方式,让其组成n个点,使得包含所有xy坐标表示的点的矩形(边与坐标轴平行)的最小面积。输出最小面积思路:包含两种情况: 一 :最大值和最小值在同一组中:那么一条边就确定为max(x)-...原创 2018-08-04 16:49:58 · 583 阅读 · 0 评论 -
HDU多校 6395 Sequence (矩阵快速幂)(模板)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6395思路:[p/n]的值是一段一段的, 每段的区间和p的因数有关,每个区间内是相等的。利用矩阵相乘的性质把p/n的值放入矩阵的幂运算中。再一段一段算即可。坑点:当n大于p时,p的因数都小于n,所以要在p的因数序列末尾加入一个n,补充计算。#include &lt;cstdio&gt;...原创 2018-08-14 14:44:40 · 163 阅读 · 0 评论 -
C. Covered Points Count (离散化 + 前缀和)
题目链接:http://codeforces.com/contest/1000/problem/C题意:给你n组l 和 r,分别表示n个闭区间,分别求被1~n个区间覆盖的点数算法:前缀和思路:对于每组l和r,用mp[l]++ 表示从 l 往右的区间覆盖数+1, 用mp[r+1]–表示从 r+1 往右的区间覆盖数-1。#include &lt;bits/stdc++.h&gt;...原创 2018-08-18 17:23:31 · 398 阅读 · 0 评论 -
D. As Fast As Possible (数学:公式推导)
题目链接:http://codeforces.com/contest/701/problem/D题意:给你5个整数:人数n,起点到终点的距离 l,人行走的速度 v1,车的速度 v2,车的座位数 k。人和车同时从起点出发,车每次能载k个人,每个人只能坐一次车,忽略车掉头以及乘客上下车的时间,问所有人到终点所需要的最短时间?思路:因为是求所有人到终点的最短时间,所以,所有人应该是同时到达终点的。...原创 2018-08-17 17:12:59 · 579 阅读 · 0 评论 -
C. Plasticine zebra (找规律)
题目链接:http://codeforces.com/contest/1025/problem/C题意:给你一个只包含 ‘w’ ‘b’ 的字符串,间隔排列‘w’’b’的子串(连续)称为斑马,该子串的长度 为斑马的长度 。现可进行一种操作任意次:将该字符串切成两半,再将这两半分别左右反转,再接上。求斑马的最大长度算法:找规律思路:手动模拟,会发现,进行一次操作后,字符串的顺序仍然按照原来的顺...原创 2018-08-21 09:43:13 · 470 阅读 · 0 评论 -
Codeforces Round #535 (Div. 3) E2. Array and Segments (Hard version)
题目链接:http://codeforces.com/contest/1108/problem/E2-题意:给你一个大小为n(1<=n<=1e5) 的数组a,给你m(m<=300)个区间 [l, r],你可以选择m个区间中的任意个区间,每个区间会使a中对应位置的数减一。问如何选择区间让数组a中的最大值和最小值的差值最大。思路:在选择完区间后,最终结果中的a中显然必然存在最小...原创 2019-01-25 16:44:06 · 309 阅读 · 0 评论 -
「DP」Educational Codeforces Round 61 (Rated for Div. 2) F. Clear the String
题目链接:http://codeforces.com/contest/1132/problem/F题意:给你个长度为n的字符串(1 ≤原创 2019-03-09 15:09:29 · 130 阅读 · 0 评论 -
Codeforces Global Round 1 D - Jongmah
题目链接:http://codeforces.com/contest/1110/problem/D题意:给你两个整数n、m,表示:给你n个整数,每个整数的范围都在[1 , m]。现在可以将三个数值相同的数(如:777)或者三个数值连续的数(如:123,但112不算)组成一个三元组,问这n个数最多能组多少个三元组?(每个数最多只能用在一个三元组中)因为3个连续三元组可以转换成三个相同数值的三元...原创 2019-03-13 16:30:37 · 232 阅读 · 0 评论 -
I - Wall Painting 2013ACM/ICPC亚洲区南京站现场赛 (组合数;位运算;找规律)
题目链接:https://vjudge.net/contest/231845#problem/I题意:给你n个整数,让你找出任意(1~n)个数的异或值的和,并从1~n分别输出算法:组合数;位运算;找规律思路:先找到二进制从0~63位的1的个数,当要找到任意 i 个数的异或值的和时,相当于在(1~63)位中每一位的1的个数中找出任意(1~k)(k<=i)个1,再用0补齐剩余的(i-k)...原创 2018-05-26 17:42:47 · 378 阅读 · 0 评论 -
J - Ball 2013ACM/ICPC亚洲区南京站现场赛 (模拟;找规律)
题目链接:https://vjudge.net/contest/231845#problem/J题意:给你三个整数,分别表示三种颜色的球的个数,把球一个一个放到桌子上 当放第一个球时,获得0点当把球放到已经放的球的端点时,得到已经放的球的颜色种数的点数当把球放到两个球之间时,获得左边球颜色种数+右边球颜色种数算法:模拟;找规律思路:手动模拟得每次放球所得点数将从0以1为差,递增到 l...原创 2018-05-26 17:14:44 · 313 阅读 · 0 评论 -
C. Alternating Sum(数论——等比数列公式与变换)
题目链接:http://codeforces.com/contest/964/problem/C题意:给你四个整数和一个字符串,求数列和: 膜1e9+9的正数结果 n——数列项数从第0项到第n项a、b如上式子k——数列的周期,k可整除n+1字符串s,表示项数的正负算法:数论——等比数列思维素材:需要得到正数结果时,最好把公式化成方便得到正数的形式#include &l...原创 2018-04-28 21:07:05 · 355 阅读 · 0 评论 -
Codeforces Round #183 (Div. 1) C. Minimum Modular
题目链接:http://codeforces.com/contest/303/problem/C题意:给n个数a[i], 在最多去除 k 个数的情况下,找出最小的 m ,使得 ,即n个数中任意两个数 膜m 不相等算法:暴力+剪枝思路: 可转化为 a[i]-a[j] != *m,其中k为任意正整数。 - 记录下所有a[i]-a[j] 差值的出现次数,将 a[i]-a[j]==k...原创 2018-02-18 20:33:08 · 200 阅读 · 0 评论 -
Codeforces Beta Round #37 C. Old Berland Language
题目链接:http://codeforces.com/contest/37/problem/C题意:让你构造n个由‘0’和‘1’构成字符串,其长度分别为l1, l2, l3,…ln. 要使任意一个串不为任意另一个串的 开头子串。思路:手动模拟一下可以知道:当n==1, l[1]==1时,s[1]==“0”或“1”当n==2 ,l[1]==1, l[2]==1时, s[1]==”0”,...原创 2018-02-22 16:44:42 · 294 阅读 · 0 评论 -
Codeforces Round #473 (Div. 2) D. Mahmoud and Ehab and another array construction task
题目链接:http://codeforces.com/contest/959/problem/D题意:给你一个数组,要你找出比它字典序大的互质数组算法:素数筛思路:通过素数筛,可以将2~MAXN的所有数对应到它的最小素因数,再通过while,每次都 x/=factor[x], 即可遍历x的所有素因数#include <bits/stdc++.h>#define pi ...原创 2018-04-08 15:33:22 · 162 阅读 · 0 评论 -
Codeforces Round #473 (Div. 2) E. Mahmoud and Ehab and the xor-MST
题目链接:http://codeforces.com/contest/959/problem/E题意:给n个顶点的完全图,顶点号从 0~n-1, 顶点间边的权值为两边定点号的异或值。要求该图的最小生成树算法:瞎鸡儿搞,哦哦不,是找规律思路:将一串数的二进制列出,然后再按最短路kruskal算法的思路手动模拟一下就能发现规律:符合kruskal条件的最小边的个数为 n>>1...原创 2018-04-09 20:55:28 · 182 阅读 · 0 评论 -
Divide by Zero 2018 and Codeforces Round #474 (Div. 1 + Div. 2, combined) C. Subsequence Counting
题目链接:http://codeforces.com/contest/960/problem/C题意:给你两个整数X,d, 找出一个数组满足以下条件: 除去Maximum_element_of_the_subsequence - Minimum_element_of_subsequence ≥ d 的子序列后还剩x个子序列算法:暴力思路:把数组元素个数对应的子序列个数列出,会发现:...原创 2018-04-10 18:17:56 · 242 阅读 · 0 评论 -
D. A Leapfrog in the Array Codeforces Round #469 (Div. 2)
题目链接:http://codeforces.com/contest/950/problem/D 参考链接:https://blog.csdn.net/xiangAccepted/article/details/79506332 所得:我原本是找单个样例的规律,但是找出来后发现还是会超时,看了上面的参考链接后发现,原来最省事的规律是在一系列样例之间找规律#include <bits/...原创 2018-04-16 12:35:21 · 134 阅读 · 0 评论 -
D. Almost Difference Educational Codeforces Round 34 (Rated for Div. 2)
题目链接:http://codeforces.com/contest/903/problem/D题意:给一个大小为n的整数数组,数组元素 1 <= ai <=1e9, 求 ∑d(ai, aj), (1<= i < j <=n) 算法:数论(前缀和)思路:sum[i] = i*a[i] + (i=0~x-1)∑a[i] + num[a[i]+1] - num[...原创 2018-04-17 14:42:38 · 170 阅读 · 0 评论 -
D. Timetable Educational Codeforces Round 39 (Rated for Div. 2)
题目链接:http://codeforces.com/contest/946/problem/D题意:设一个星期有n天,每天有m小时,给你n个长为m的字符串(由0、1组成),1表示要上课的时段。你每天需要花在学校的时间是从第一个1到最后一个1(包括头尾)。你可以翘掉最多k节课,求你一个n天总计待在学校的最小时间算法:dp思路: 遍历每天用mn[i]记录当天,要上连续的i节课后所需花费的...原创 2018-04-18 12:06:00 · 149 阅读 · 0 评论 -
Codeforces Round #257 (Div. 2) D. Jzzhu and Cities
题目链接:http://codeforces.com/contest/450/problem/D题意:给n个城市、m条公路、k条铁路(铁路只在1号城市与其他城市间)。算出在最短路不变的情况下,最多能去除多少条铁路算法:最短路 dijkstra思路: 先把m个公路建图,这样边数达到2*m, 在对k 个铁路建图,进而可以判断边为公路还是铁路。当最短路是公路时,令flag=1; 当最短路为铁路...原创 2018-04-06 15:27:19 · 166 阅读 · 0 评论 -
Codeforces Round #257 (Div. 2) C. Jzzhu and Chocolate
题目链接:http://codeforces.com/contest/450/problem/C题意:给定n*m的巧克力,切k刀,使最小块最大思路:当k=1时, 我们切一刀,则最小块从原来的n*m变为了(n*m)/2,也就是减小了(n*m)/2,那么在同一方向切的刀数越多,则每增加一刀的最小块减小的量就越小,所以尽量在一个方向上切,一个方向不够切时再换个方向#include &...原创 2018-04-06 17:35:09 · 140 阅读 · 0 评论 -
VK Cup 2012 Round 2 A. Substring and Subsequence
题目链接:http://codeforces.com/problemset/problem/163/A题意:给你两个字符串——s , t 。要算s的子串(连续)和t的子序列(可不连续)相同的匹配数算法:dp思路:dp[i+1][j+1] 表示 “以s[i]为右端点的所有子串” 与 “t[0~ j] 区间内所有的子序列” 相同匹配的数量。 则状态转移方程为 dp[i+1][j+1] = ...原创 2018-04-13 19:09:13 · 148 阅读 · 0 评论 -
E. Connected Components (BFS )
题目链接:http://codeforces.com/contest/920/problem/E题意:给你n个点,m条边,这个由n个点组成的图中,除了给你的m条边不存在以外,其他边都存在,两点间只有一条边,且无自环。算法:BFS思路:因为1 ≤ n ≤ 200000,所以用无法用邻接表存图,可以用二维的map代替二维数组(当然,既然算法是BFS的话,用前向星之类的也行)。 把1~n放入一...原创 2018-05-10 09:34:47 · 442 阅读 · 0 评论 -
D. Game with String 思维 + 概率 + 字符串
题目链接:http://codeforces.com/contest/930/problem/B题意:告诉你一个字符串s。我把它截成两段,再把左半段移到右边,构成一个新的字符串t,并且只把t的第一个字符 t[0] 告诉你。你还能得知一个字符 t[x],这个x是由你自己定的。当你能通过 t[0] , t[x] 和 s 完整的唯一的猜测出字符串 t 时,你获胜。否则你失败。 问你获胜的最大概率。...原创 2018-05-04 09:12:14 · 227 阅读 · 0 评论 -
Little Sub and Johann (NIM游戏与 SG函数)
题目链接:http://acm.hznu.edu.cn/OJ/problem.php?id=2591题意:有 n 堆石子,两个玩家轮流操作,每次操作只能去掉一堆石子或者在一堆有x个石子的石堆中移除y个石子,并且满足 gcd(x, y) = 1。直到一个玩家无法操作,则另一个玩家胜利。问先手赢还是后手赢。显然符合NIM游戏,只要能算出sg函数值即可判断。算出每个石堆的SG函数,然后求...原创 2019-03-25 18:29:52 · 227 阅读 · 0 评论