A. USB Driver 脑抽了居然升序排序。。愣了几秒才发现 一遍 AC。 const int MAXN = 100 + 10; int n, aa[MAXN]; int main() { std::ios::sync_with_stdio(false); cin.tie(0); cout.tie(0); cin >> n; int m; cin >> m; rep (i, 1, n) cin >> aa[i]; st
1.6.1 数字三角形 题目考查 递推 我们考虑当选择路径的时候, 如果我们从上往下看, 最终的路径数会有 n n n种, 分别以 a [
D - Between Two Arrays(前缀和优化dp) 见官方题解,先考虑朴素dp,然后在基础上前缀和优化。 时间复杂度: O ( n m )
A 根据题面描述不难发现:若当前在第\(i\)列的某个空格上,只要第\(i+1\)列存在空格,就一定可以跳到这个空格上。只需要判断每行是否有空格子即可。 int n; char s[3][N]; int main() { int T=read(); while (T--) { n=read();int ans=1; rep(i,1,2) scan
fateice来到了膜方俱乐部旅行。膜方俱乐部有N个分部,每个分部均有且仅有一个虫洞,但是这虫洞只能通往一个分部。每个分部有一个orzFang价值,第 i 个分部的orzFang价值为A[i]。 现在他想知道,从i个分部出发,并只通过虫洞前往下一个分部,orzFang价值之和最多是多少(到达一个分部多次只计算
843. n-皇后问题 - AcWing题库 #include<bits/stdc++.h> #define rep(i,a,b) for(int i=a;i<b;i++) using namespace std; const int N=10; int n; char q[N][N]; bool col[N],dg[2*N],udg[2*N]; void dfs(int u){ if(u==n){ rep(i,0,n) puts(q[i]);
842. 排列数字 - AcWing题库 #include<bits/stdc++.h> #define rep(i,a,b) for(int i=a;i<b;i++) using namespace std; const int N=10; int n; int quene[N]; bool flag[N]; void dfs(int u){ if(u==n){ rep(i,0,n) cout<<quene[i]<<"
HDU6138 Fleet of the Eternal Throne Mean 给定\(n\)个字符串,\(m\)次询问\((m<=100)\),每次询问第\(L\)个字符串和第\(R\)个字符串的所有公共子串中,最长的公共子串,满足其是\(n\)个字符串中任意一个的前缀,输出其最长的长度。 Sol GSAM 注意到\(m\)只有100,每次暴力的将询问的\(L\)串
给定 \(N,M\),求有多少个大小为 \(k\) 的可重集满足所有元素之和为 \(N\),同一个数最多出现 \(M\) 次。对于每个 \(k=1\sim n\) 求出答案。 我们可以将大小为 \(k\) 的可重集转化为长度为 \(k\) 的不降序列,满足第一个数 \(>0\),不存在 \(M\) 个连续且相同的数。 一个不是很常见的套
好像中文互联网没有相关内容? 题意是给出一个数组能否k等分其子数组,使得k个子段和一样 当时想的有点难了,主要是感觉这算是个经典问题,就上网搜,搜了半天发现lc只有一个用dfs找的 dfs爆搜能行么?肯定不行,这1e7数据是开玩笑的?然后就歪了,当时想的是维护一个滑动窗口然后就暴力摁算,但是其
V-rep Hexapod tutorial(2) 1.添加用户参数User Parameters (1)给hexa_body添加Non-threaded script (2)hexa_body的脚本代码中插如如下代码并运行 function sysCall_init() Base=sim.getObjectHandle('hexa_body') sim.setUserParameter(Base,'@enable',''
A - Leading 1s 史上最阴间的 ARC A 题,全场过的人 900 个不到。。。 设 \(f_i\) 表示有 \(i\) 个前导 \(1\) 的数字的个数,发现直接求不好算,先算至少有 \(i\) 个前导 \(1\) 的数字个数,然后再容斥一下减去所有 \(f_j \ (j > i)\) 即可。 i64 n, g[20], bin[29]; int main() { sca
题目链接:https://ac.nowcoder.com/acm/problem/51011 说一下第二种拓扑排序的思路,因为是有向无环图,可以进行拓扑排序,记录出队列顺序, 再倒着,由结尾统计。运用 二维bitset 的 | 运算操作可以 顺带着去重。 代码如下: 第一种 (直接dfs 203ms) #include <bits/stdc++.h> using nam
本文同步发布于 洛谷博客。 题意:多测,给你一个置换 \(A\),分别对几个字符串 \(s_i\) 执行 \(k_i\) 次,问最后得到的字符串是啥。 我们知道两个置换的乘法:假设有置换 \(f=\begin{pmatrix}a_1 & a_2 & \cdots & a_n\\a_{p_1} & a_{p_2} & \cdots & a_{p_n}\end{pmatrix}\) 和 \(g=\beg
https://codeforces.com/contest/1573/problem/B 思路:答案 = 奇数交换的次数 + 偶数交换的次数 固定一个值,更新另外一个值就可以,固定哪个都是一样的,是个镜像操作。 更新操作:先按照原来的排序方式,分配好初始位置,从大到小更新,最大的位置没法更新,分配初始位置 and 另外一个数组
V-rep 逆运动学(IK)4-twoIkGroupsWithEachOneIkElement-resolutionOrderIsRelevant 示例重建 1.建立模型 (1)复制示例1(V-rep 逆运动学(IK) 1-singleIkGroupWithSingleIkElement-undamped示例重建)的全部模型,并平移至一个新位置 (2)重命名,定义左边树,赋予正确的父子关系 base_2的Dummy
Alphabetic Road Trip /* 整体步骤: 1存点 2.将城市名城映射成城市编号(输入顺序) 3.存边 4. 距离初始化为无穷 5. 把所有起点为'A'的城市 装入队列中,距离初始化为 0 (队列中存入的的信息: ( (到源点的距离,当前节点编号) ,节点城市首字母的下一个字母对应的数字)
本文同步发布于 洛谷博客。 模拟题。 根据题目给的若干个双向链表的信息,我们可以枚举一个点,向左搜该链表的左端点,向右搜该链表的右端点,标记 \(vis\) 表示是否搜到过。这样我们就获得了每个链表的信息,然后按顺序把链表串联起来即可。 //By: Luogu@rui_er(122461) #include <bits/st
题目 CF549G Happy Line 分析 排序,性质。 这道题告诉了我们大眼观察法的重要性。 我们发现,无论怎么交换,每一个元素对应的 \(a_i+i\) 总是一个定值。 那么显然交换到最后的最好情况就是所有的值按照从小到大有序。 然后考虑什么情况下无解,显然,如果在最终的序列当中出现了两个相同元
Description 设 \(r(x)\) 表示十进制下将 \(x\) 按位翻转并去掉前导 \(0\) 之后的数。 给定 \(d\),求满足 \(r(n) - n = d\) 的 \(n\) 的个数。 \(1 \le d < 10^9\)。 Solution 不难发现位数至多有 \(18\) 位,那么枚举位数、再枚举每一位有没有借位即可。 代码相较于其他题解特别好
目录 Description State Input Output Solution Code Description 要求构造一个长度为 \(n\) 的排列,已知排列中最长上升子序列为 \(k\) ,求字典序最小的排列方式 State \(1<=n,k<=2*10^{5}\) \(1<=a[i]<=n\) Input 3 2 2 3 Output 2 1 3 Solution 不妨猜一下结论,除了最
Uva 11464 偶数矩阵(Even Parity) 题意 给出一个 \(n \times n\) 的 01矩阵 ,你的任务是修改尽量少的0(变为1),使得对于矩阵中每个元素,它上下左右(如果存在)的元素和为偶数。 数据有多组输入,其中 \(n \le 15\) 。 分析 首先可以想到暴力枚举每个元素的改变状态,那么一共有 \(2 ^ {15
实现代码 因此实现代码就可以写出来了!只需要获取网页中的元组数据。 weather.py #coding:utf-8 from urllib.parse import urlencode import requests import urllib import json#处理网页数据 while True:#循环 message = str(input("要查询的城市:")) url="https://
dijkstra https://vjudge.net/contest/346398#problem/D #include<iostream> #include<cstdio> #include<cstdlib> #include<algorithm> #define rep(i,x,y) if((x)<=(y)) for (register int i=(x);i<=(y);i++) using namespace std; int main(
/* https://vijos.org/p/1028 */ #include<iostream> #include<cstdio> #include<cstring> #define rep(i,x,y) if ((x)<=(y)) for (register int i=(x);i<=(y);i++) using namespace std; bool pd(string s1,string s2) { rep(i,0,s1.length()-1)