ICode9

精准搜索请尝试: 精确搜索
  • Codeforces Round #681 (Div. 1, based on VK Cup 2019-2020 - Final) B. Identify the Operations (模拟,双2020-12-02 16:36:24

    题意:给你一组不重复的序列\(a\),每次可以选择一个数删除它左边或右边的一个数,并将选择的数append到数组\(b\)中,现在给你数组\(b\),问有多少种方案数得到\(b\). 题解:我们可以记录\(b_i\)在\(a_i\)中的位置,然后枚举\(b_i\),取它在\(a_i\)的位置,然后看\(a_{i-1}\)和\(a_{i

  • Codeforces Round #687 (Div. 2, based on Technocup 2021 Elimination Round 2) A,B,C,D2020-12-01 14:57:27

    文章目录 A. Prison BreakB. Repainting StreetC. Bouncing BallD. XOR-gun A. Prison Break 取该点和四个角的曼哈顿距离最大值即可。 #include <bits/stdc++.h> using namespace std; int t; int main() { cin>>t; while(t--) { int a,b,c,d;

  • 洛谷 P3384 【模板】轻重链剖分2020-11-29 22:36:04

    传送门 #include <bits/stdc++.h> using namespace std; using ll = long long; using p = pair<int, int>; const int maxn(1e5 + 10); const int maxm(2e5 + 10); int mod, ecnt, v[maxn], head[maxn]; int dep[maxn], siz[maxn], fa[maxn], son[maxn]; int tim,

  • PAT甲级官网 刷题(5)2020-11-26 23:30:38

    PAT1129 Recommendation System   需要稍加思考,每次都sort会TLE。 #include<iostream> #include<algorithm> #define ac cin.tie(0);cin.sync_with_stdio(0); using namespace std; const int MAXN = 50010; int arr[20], cnt[MAXN]; //按照次数排序,若相同则按照大小排序

  • 题解 P4551 【最长异或路径】2020-11-08 16:02:22

    题意 给定一棵 \(n\) 个点的带权树,结点下标从 \(1\) 开始到 \(N\) 。寻找树中找两个结点,求最长的异或路径。 异或路径指的是指两个结点之间唯一路径上的所有边权的异或。 解法 先预处理出从根结点到所有结点的路径上的 \(xor\) 值,显然 \(d(x) = d(fa)\) ^ \(val(fa \to x)\)。

  • [整理]qbxt周末刷题班 Day2总结2020-11-03 21:03:05

    跑路 Description:有一棵无根树,给定一个温泉,问至少再添加多少温泉,使得所有叶节点(度为1)到温泉的距离不超过\(k\)。 Solution:我们考虑贪心地放温泉。一个简单的思路是对于一个节点\(x\),总是放到它的祖先处。但是这样做有一个问题:如果一个兄弟子树中的节点\(y\)原本被\(t\)覆盖,但是

  • 【题解】P2610 [ZJOI2012]旅游2020-11-02 16:00:27

    link 题意 T国的国土可以用一个凸N边形来表示,包含 \(N-2\) 个城市,每个城市都是顶点为 \(N\) 边形顶点的三角形,两人的旅游路线可以看做是连接N个顶点中不相邻两点的线段。问一路能经过最多多少城市。 一个城市被当做经过当且仅当其与线路有至少两个公共点。 思路 很巧妙的一道题。(

  • CF29E Quarrel 题解2020-10-31 10:04:22

    我们可以另 \(f_{u,v,t}\) 为 A 在 \(u\),B 在 \(v\) ,并且当前轮到第 \(t\) 个人(\(0\) 代表 A,\(1\) 代表 B)移动是的最小步数。 那么就可以使用 BFS 来挨个进行松弛,松弛的时候记录前驱。 注意:在移动 B 的时候,要注意 B 的目的地不能是 A 当前在的位置。 核心代码: int f[505][505][2],

  • [校内训练20_10_23~25]2020-10-29 19:00:58

    1. 标准的卢卡斯定理加数位dp,主要是算C(n,i)*C(n,2*i)。 但由于这题的模数是质数,就不需要考虑很多东西,如:是否超过上限了、是否有连续的进位。 1 #include<bits/stdc++.h> 2 using namespace std; 3 typedef long long int ll; 4 const int maxn=1E6+5; 5 ll ans,n,mod; 6

  • 题解 CF551C 【GukiZ hates Boxes】2020-10-24 16:31:26

    这一道题目的考点为二分答案 + 模拟 二分答案我换成了是倍增,因为蒟蒻我怕二分答案写错(害怕二分写错的同学可以跟我一起写倍增啊)。 模拟的时候有一个技巧,就是每次记录一下当前所有物品中第一个没有被搬完的坐标点。 然后大力模拟。 这道题一定要开longlong,写倍增的时初始答案一定要

  • 【考试反思】联赛模拟测试15 To be continued2020-10-13 12:00:56

    建议改成:凯爹吊打 std。 凯爹被卡常了,可恶啊。 基础篇,但成功暴露了基础很薄弱。T4 LCIS 完全没思路。 T1: 90 \(\rightarrow\) 80 T1:游戏 对自己暴力太自信了,想数据点分治,但显然 \(O(10!\cdot 10)\) 显然是跑不过 500ms的 = =。 其实也不好意思说是挂分,因为是乱搞的水了很多分

  • 【YbtOJ#20063】古老谜题2020-10-12 17:04:56

    题目 题目链接:http://noip.ybtoj.com.cn/contest/90/problem/1 给定一个长度为 \(n\) 的 \(01\) 序列 \(a_1\sim a_n\)。 请你求出有多少个整数三元组 \((l,r,p)\),使得 \(1\leq l<p<r\leq n\) 并且 \(a_p=1\),且 \([l,p]\) 和 \([p,r]\) 中 \(1\) 的个数相同。 思路 显然题目要求的

  • [HDU-6883] Coin Game(2020HDU多校第十场T7)2020-08-20 19:02:12

    [HDU-6883] Coin Game(2020HDU多校第十场T7) 题目给出的模型看起来比较奇怪,但是简单推理后,发现可以转化为一个简单的01背包问题 对于题目给定的权值\(a_i,b_i\),分为\(a_i,a_i+b_i\)两个物品,发现可以得到这个机器的所有合法贡献情况 也就是说,有两种大小分别为\(1,2\)的物品,要做01背

  • SP2416 DSUBSEQ - Distinct Subsequences2020-08-03 20:01:26

    题意 求本质不同的子串个数(包括空串) 思路 序列自动机裸题 直接上代码 \(Code\) #include<cstdio> #include<cstring> using namespace std; typedef long long LL; const int N = 2e5 + 5; const int P = 1e9 + 7; int n , nxt[N][30]; LL f[N]; char s[N]; inline LL dfs(int x

  • P3435 [POI2006]OKR-Periods of Words题解2020-06-27 20:51:32

    题意$:$ 给定一个字符串$s$$,$ 其中$s_1$$s_2$……$s_i$是$s_1$$s_2$……$s_j$的前缀$($$条件1$$)$ $s_1$$s_2$……$s_j$是$s_1$$s_2$……$s_i$$s_1$$s_2$……$s_i$的前缀$($$条件2$$)$ 求对每一个$j$满足条件的最大的$i$的和$。$ 解答$:$ 因为要满足条件$2$,所以我们必须让$s_{i+1}$$……

  • [HNOI2019] JOJO2020-06-20 16:05:29

    题意: 初始有一个空串,有n次操作: $(1,x,c)$,表示在当前串后添加x个字符c,保证c不同于当前串末尾的字符。 $(2,x)$,表示将当前串变成第x次操作后的串。 每次操作完你需要输出$\sum \limits_{i=1}^{n}{nxt(i)}$,其中$nxt(i)$与kmp中的nxt同义。 $n\leq 10^{5},x\leq 10^{4}$。   题解:

  • 【日常训练】【Codeforces】20200604_方格_CF627E_two pointers/链表2020-06-04 16:03:27

    题面 题解 现场得分:100/100 这道题我当场写了一个\(O(Rnk\log n)\)的东西。过了。 事情是如果枚举一条边界之后,倒序处理就能用链表,但是我是正序处理的,就只能用set。 下发题解 应该是dwh写的 代码 我的卡常代码 #include<bits/stdc++.h> #define LL long long #define MAXN 30

  • 概率期望2020-06-04 15:51:27

    题目 P4316 绿豆蛙的归宿 #include<bits/stdc++.h> using namespace std; const int N=110000; struct edge { int to,nxt,co; }e[N*2]; int h[N],E=0; int n,m; int deg[N],use[N],ged[N]; double f[N],g[N]; void addedge(int u,int v,int w) { deg[u]++; use[v]++; E++;

  • CF671E2020-04-19 12:06:18

    传送门 嗯,转化起来巨长的一道题 也是兔队博客里的一道题 先设两个数组\(pre[i]\)表示从\(1\)到\(i\)需要额外花多少油,\(suf[i]\)表示从\(i\)到\(1\)需要额外花多少油 容易递推式\(pre[i]=pre[i-1]-g[i-1]+w[i-1],suf[i]=suf[i-1]-g[i]+w[i-1]\) 理论上这两个数组最后都应该和\(0\)

  • 序列自动机入门2020-04-13 23:03:33

    文章发布于摸鱼世界,转载请注明出处。 前言 叫什么自动姬嘛,一个数组的事情(bushi 正文 吾日三省吾身: 这玩意有啥用? 这玩意咋做的? 这玩意咋写? 先来看序列自动机是干什么用的。 看它的名字就知道这和子序列有关,没错,它的基本作用就是快速的查询一个串是否是母串的子序列/母串的子序

  • Kmp算法2020-04-01 18:55:50

    一:Kmp算法 概要: Kmp算法中nxt数组为重要组成部分,nxt数组所存的内容为:next[i]表示前i个字符组成的子串的最长相同前缀和后缀的长度,要注意应用中提出的nxt[i]变化(方便在匹配两个字符串时候跳动减少时间复杂度) nxt数组模板: 以i=1为起点的字符串进行处理 void get_nxt() { nxt

  • hdu1732 Pushbox bfs 细节比较多,需要注意2020-03-18 09:00:58

    题目链接:http://icpc.njust.edu.cn/Problem/Hdu/1732/ 题目就是推箱子游戏,有三个箱子和三个洞,最终目标状态就是三个箱子到三个洞中,所以我们搜索的状态就是人的位置和箱子的位置,因为总共8个状态值,而且横纵坐标的范围也不大,所以我们可以考虑一个8维的数组来存储状态。 代码如下: #in

  • hdu1429 胜利大逃亡(续)???天天逃亡???2020-03-17 17:00:40

    题目链接:http://icpc.njust.edu.cn/Problem/Hdu/1429/ 题目就是迷宫问题的变种,给出一张地图,上面分布着钥匙和门,一种要是只能开一种特定的门,给出起点和终点,问在t时间内是否能够走到终点。这个问题显然是要用bfs解决,但是状态量除了位置之外还有钥匙,持有的钥匙不同到达同一个位置也是

  • hdu1180 诡异的楼梯 bfs2020-03-17 13:03:53

    题目链接:http://icpc.njust.edu.cn/Problem/Hdu/1180/ 题目和不同的bfs有个不同的地方就是存在横着的或者竖着的楼梯,楼梯每过一个时刻就改变一次横竖的走向,人可以通过楼梯到达楼梯另一端的位置而只花费1的时间。所以我们只要在遇到楼梯的位置查看楼梯当前的走向,判断和人的横竖方向

  • LeetCode 179周赛2020-03-08 12:38:40

    刚刚交完卷子,来整理个新鲜的。 这次的周赛题目总体来说还算平和,但是想拿到分还是需要一些技巧,相比于上一次,这一次的题目在数据上开始卡算法的时间复杂度了,一些暴力的写法可能过不了一些题。 咱一道一道说。 生成每种字符都是奇数个的字符串 题目 这个题,emm,可以算是出题人的

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有