- 博客(15)
- 收藏
- 关注
原创 GDUT专题练习1 B 全排列 模板
题目链接:专题学习1 - Virtual Judge (vjudge.net)因为是模板题,所以直接贴代码了代码:#include<stdio.h>#include<string.h>char str[10],now[10];int vis[10];int n;void dfs(int x){ int i; if(x==n) { printf("%s\n",now); return; } for(i=0; str[i]; i++) {
2022-02-23 23:06:12
280
原创 Codeforces 773 div 2 B Power Walking
题目链接:Problem - B - Codeforces题目大意:有n种已编号的物品,已知一个小孩的“能力”为他拥有的不同编号的物品数目之和,现有k个小孩思路:代码:#include<iostream>#include<cstdio>#include<cstring>#include<string>#include<algorithm>#include<cctype>#include<cmat.
2022-02-23 22:48:35
583
原创 Codeforces 773 div 2 A Hard Way
题目链接:Problem - A - Codeforces题目大意:在直角坐标系XOY的非负区域中,存在一个三角形ABC,从y=0这条直线上的某一个点作一条射线(该射线不能穿过△ABC的内部),如果能到达△ABC的某一条边的某一个点上,那么该点称为“安全点”,现在问你对于给定的△ABC,它的边上的“不安全点”组成的线段有多长?思路:我们不妨反过来看,从该三角形边上的一点,看能不能不穿过三角形内部而作出一条直线经过x轴。对于斜率不存在的那条边,肯定能作出该直线对斜率不为0的边所在的直线
2022-02-23 21:56:43
273
原创 第九届“图灵杯”NEUQ-ACM程序设计竞赛个人赛 L题 最小生成树
题目链接:L-WireConnection_第九届“图灵杯”NEUQ-ACM程序设计竞赛个人赛 (nowcoder.com)思路:最小生成树的模板题代码:#include<bits/stdc++.h>using namespace std;typedef long long uu;const int N = 2e3+500,inf=0x3f3f3f3f;bool vis[N];uu a[N][N],ans[N];struct node{ double
2022-02-23 15:25:48
281
原创 第九届“图灵杯”NEUQ-ACM程序设计竞赛个人赛 G题 数学思维
题目链接:思路:第一想法是枚举a,b,但是这样复杂度就来到了O(),显然TLE那么我们就应该想想 N=a+b+ab 能不能变形一下其实一眼就能看出来N+1=a+b+ab+1=(a+1)(b+1)也就是说如果N不能分解为a+b+ab 那么N+1必定不能分解为(a+1)(b+1)又因为a+1>1,b+1>1 也就是说N+1是一个质数那么我们只要判断N+1是不是一个质数即可得出答案复杂度为O()代码:#include<stdio.h>#i..
2022-02-23 14:39:55
530
原创 GDUT专题练习5 Count Color 状态压缩 线段树
题目链接:GDUT-21级第五次专题训练——树状数组,线段树 - Virtual Judge (vjudge.net)题目大意:思路:代码:#include<iostream>#include<cstdio>#include<cstring>#include<string>#include<algorithm>#include<cctype>#include<cmath>#include<
2022-02-23 12:44:10
391
原创 GDUT专题练习5 Lost Cows 暴力解法
题目链接:GDUT-21级第五次专题训练——树状数组,线段树 - Virtual Judge (vjudge.net)题目大意:有一个1,2,3,....,n(1<n<=8000)的,现在已知从第二个数开始,每一个数之前小于这个数的数的个数为(1<i<=n),求这个排列。思路:从前往后推没有思路,本着正难则反的原则,从后面开始推起,我们不难发现:先想出t=[0,1,2,3,4,...,n]最后一个数的大小就是t[+1],然后把它从t中删去倒数第二个数的大小
2022-02-22 12:48:42
140
原创 GDUT专题练习4 Happy 2006 数论
题目链接:2022_GDUT_新生专题训练_数论 - Virtual Judge (vjudge.net)题目大意:对于给定的m(1<=m<=1e6),k(1<=k<=1e8),求出第k个与m互质的数思路:直接暴力复杂度为O(K),显然不可取注意到m最大为1e6,那么出题人可能出的复杂度是O(nlogn)或者O(n)我们看这样一条公式gcd(a,m)=gcd(a+m*t,m)也就是说与m互质的数也是有类似周期性的那么我们只要枚举小于m的与m互质的数,存
2022-02-22 12:29:44
143
原创 GDUT专题练习4 同余方程
题目链接:2022_GDUT_新生专题训练_数论 - Virtual Judge (vjudge.net)思路:原式等价于求ax+by=1的x的最小正整数解,我们用扩欧算出其中的一个解x0,可知x的所有解为x=c/d*x0+k*b/d,取得最小正整数解只需模b/d即可,即x(min)=(x0+b(避免x小于0))%b。代码:#include<iostream>#include<cstdio>#include<cstring>#include&l
2022-02-21 23:30:52
297
原创 GDUT专题学习3 食物链 图论 记忆化搜索
题目链接:专题训练3-图论 - Virtual Judge (vjudge.net)思路:代码:#include<iostream>#include<cstdio>#include<cstring>#include<string>#include<algorithm>#include<cctype>#include<cmath>#include<cstdlib>#include<
2022-02-21 21:47:39
211
原创 GDUT专题学习3 Learning Languages 并查集
题目链接:专题训练3-图论 - Virtual Judge (vjudge.net)题目大意:一个公司有n个员工和m种工作语言,每个员工都会0-m(包含0)种语言,会同一种语言的员工可以互相交流,不会同一种语言的员工也可以通过其他员工间接交流,已知,让一个员工学习一种语言的成本为1块钱,公司为了所有员工能够互相交流,至少需要多少钱。思路:①如果公司全部人都不会任何一种语言,那么需要他们全部人学习同一种语言,需要花费n块钱;②用并查集的思想将能交流的人分成k堆,那么将这k堆连接起来的成本需
2022-02-21 13:31:33
258
原创 GDUT专题学习2 采药 简单DP 01背包 滚动数组
题目链接:专题训练2-DP - Virtual Judge (vjudge.net)思路:dp[i][j]代表前i株药草剩余j时间的最大价值这样我们的空间复杂度是O(t*m),可以优化为O(m)实际上更新每一层的信息只用到上一层的信息,所以我们开一个滚动数组就行了代码:#include<iostream>#include<cstring>using namespace std;typedef long long uu;int dp[2][1500]
2022-02-21 11:55:04
426
原创 GDUT专题学习2 拦截导弹 LIS问题 Dilworth定理
题目链接:专题训练2-DP - Virtual Judge (vjudge.net)思路:运用LIS问题的解法可以求出一个系统拦截的最大导弹数,然后用Dilworth定理求出最少系统数。代码:#include<iostream>#include<cstring>#include<algorithm>using namespace std;typedef long long uu;int dp[100500],q[100500],num[100
2022-02-21 11:46:50
244
原创 GDUT专题学习1 Equidistant Letters 简单思维
题目链接:专题学习1 - Virtual Judge (vjudge.net)题目大意:给你一个字符串,只包含英文字母,相同的字母最多出现2次,让你给出一个该字符串的一个排列,使得所有相同字母的距离都相等思路:既然距离没有限制,那我们直接特殊化为0,即相同的字母让他们都相邻,那么只要对字符串进行排序即可。代码:#include<iostream>#include<cstring>#include<algorithm>using namesp
2022-02-21 11:33:43
352
原创 GDUT专题练习1 Red and Black 简单DFS ACM
题目链接:专题学习1 - Virtual Judge (vjudge.net)题目大意:在一个W*H地图中有"#"代表的红砖和"."代表的黑砖,其中红砖不能到达,问能到达的砖块数总共有多少个?#include<iostream>#include<cstring>using namespace std;typedef long long uu;char matrix[50][50];int W,H,i,j,s=0;void dfs(int x,int y)
2022-02-20 22:14:21
292
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人