9.30SDFZCSP-J模考总结
我是傻逼我是傻逼我是傻逼我是傻逼\Huge我是傻逼我是傻逼\\我是傻逼我是傻逼\\我是傻逼我是傻逼我是傻逼我是傻逼
T3数组开小痛失50pts!!!!!!
分数
T1 | T2 | T3 | T4 | 总分 |
---|---|---|---|---|
100pts | 100pts | 50pts | 30pts | 280pts |
T1
简单爆搜
AC code:
#include<bits/stdc++.h>
#define int long long
#define endl "\n"
using namespace std;
const int maxn=1e6+5,mod=9e18;
int read(){int x=0,f=1;char ch=getchar();while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();}while(ch>='0' && ch<='9')x=x*10+ch-'0',ch=getchar();return x*f;}
int Max(int a,int b){if(a>b)return a;else return b;}
int Min(int a,int b){if(a>b)return b;else return a;}
int add(int A,int B){return A+B>mod?A+B-mod:A+B;}
int sub(int A,int B){return A*B%mod;}
int fpow(int a,int b,int p){if(b==0){return 1;}int res=fpow(a,b/2,p)%p;if(b%2==1){return((res*res)%p*a)%p;}else{return(res*res)%p;}}
void fio(){freopen(".in","r",stdin);freopen(".out","w",stdout);}
int n,k,ans[maxn],vis[maxn];
void dfs(int pos){
if(pos>n){
for(int i=1;i<=n;i++){
printf("%d ",ans[i]);
}
puts(" ");
return;
}
for(int i=1;i<=k;i++){
if(vis[i]<2){
vis[i]++;
ans[pos]=i;
dfs(pos+1);
vis[i]--;
}
}
}
signed main(){
cin>>n>>k;
dfs(1);
return 0;
}
T2
数组模拟链表,存贮每个数前面的数和后面的数,纯傻逼题。
AC code:
#include<bits/stdc++.h>
#define int long long
#define endl "\n"
using namespace std;
const int maxn=1e6+5,mod=9e18;
int read(){int x=0,f=1;char ch=getchar();while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();}while(ch>='0' && ch<='9')x=x*10+ch-'0',ch=getchar();return x*f;}
int Max(int a,int b){if(a>b)return a;else return b;}
int Min(int a,int b){if(a>b)return b;else return a;}
int add(int A,int B){return A+B>mod?A+B-mod:A+B;}
int sub(int A,int B){return A*B%mod;}
int fpow(int a,int b,int p){if(b==0){return 1;}int res=fpow(a,b/2,p)%p;if(b%2==1){return((res*res)%p*a)%p;}else{return(res*res)%p;}}
void fio(){freopen(".in","r",stdin);freopen(".out","w",stdout);}
int n,m,nxt[maxn],lst[maxn];
signed main(){
cin>>n>>m;
nxt[0]=1;
for(int i=1;i<=n;i++){
lst[i]=i-1;
nxt[i]=i+1;
}
while(m--){
int x,y;
cin>>x>>y;
int tmp=lst[x];
nxt[lst[x]]=nxt[x];
lst[nxt[x]]=tmp;
lst[x]=y;
nxt[x]=nxt[y];
lst[nxt[y]]=x;
nxt[y]=x;
}
int pos=0;
while(nxt[pos]!=n+1){
cout<<nxt[pos]<<' ';
pos=nxt[pos];
}
return 0;
}
/*
1 2 3 4 5
1 5 2 3 4
5 2 1 3 4
5 2 1 3 4
5 1 2 3 4
5 1 3 4 2
*/
T3
一眼题,Kruskal上板子,把没两个点连一条边,求MST即可。
我是傻逼,只开了1e6,艹
AC code:
#include<bits/stdc++.h>
#define int long long
#define endl "\n"
using namespace std;
const int maxn=1e7+5,mod=9e18;
const int MAXN=1e6+5;
int read(){int x=0,f=1;char ch=getchar();while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();}while(ch>='0' && ch<='9')x=x*10+ch-'0',ch=getchar();return x*f;}
int Max(int a,int b){if(a>b)return a;else return b;}
int Min(int a,int b){if(a>b)return b;else return a;}
int add(int A,int B){return A+B>mod?A+B-mod:A+B;}
int sub(int A,int B){return A*B%mod;}
int fpow(int a,int b,int p){if(b==0){return 1;}int res=fpow(a,b/2,p)%p;if(b%2==1){return((res*res)%p*a)%p;}else{return(res*res)%p;}}
void fio(){freopen(".in","r",stdin);freopen(".out","w",stdout);}
struct point{
int x,y,z;
}poi[maxn];
struct Node{
int u,v,w;
bool operator<(Node b) const{
return w<b.w;
}
}edge[maxn];
int cnt=0,n;
int fa[maxn];
int find(int x){
if(fa[x]==x){
return x;
}
return fa[x]=find(fa[x]);
}
void uniset(int x,int y){
x=find(x);
y=find(y);
if(x!=y){
fa[x]=y;
}
}
void kruskal(){
int ans=0;
for(int i=1;i<=cnt;i++){
if(find(edge[i].u)!=find(edge[i].v)){
uniset(edge[i].u,edge[i].v);
ans+=edge[i].w;
}
}
cout<<ans;
}
signed main(){
cin>>n;
for(int i=1;i<=n;i++){
cin>>poi[i].x>>poi[i].y>>poi[i].z;
}
for(int i=1;i<=n;i++){
for(int j=i+1;j<=n;j++){
int mini=min(min(abs(poi[i].x-poi[j].x),abs(poi[i].y-poi[j].y)),abs(poi[i].z-poi[j].z));
edge[++cnt]={i,j,mini};
}
}
sort(edge+1,edge+cnt+1);
for(int i=1;i<=n;i++){
fa[i]=i;
}
kruskal();
return 0;
}
T4
考时随便码了个DP,样例没过居然30。
考时代码:
#include<bits/stdc++.h>
#define int long long
#define endl "\n"
using namespace std;
const int maxn=1e7+5,mod=9e18;
int read(){int x=0,f=1;char ch=getchar();while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();}while(ch>='0' && ch<='9')x=x*10+ch-'0',ch=getchar();return x*f;}
int Max(int a,int b){if(a>b)return a;else return b;}
int Min(int a,int b){if(a>b)return b;else return a;}
int add(int A,int B){return A+B>mod?A+B-mod:A+B;}
int sub(int A,int B){return A*B%mod;}
int fpow(int a,int b,int p){if(b==0){return 1;}int res=fpow(a,b/2,p)%p;if(b%2==1){return((res*res)%p*a)%p;}else{return(res*res)%p;}}
void fio(){freopen(".in","r",stdin);freopen(".out","w",stdout);}
int n,m,a,b,c,B[maxn],C[maxn],dp[maxn];
signed main(){
cin>>n>>m>>a>>b>>c;
for(int i=1;i<=n;i++){
B[i] = (a = (1ll * a * ((b ^ c) + 20190430ll) + 19260817ll) % 2147483647) , swap(a , b);
C[i] = (a = (1ll * a * ((b ^ c) + 20190430ll) + 19260817ll) % 2147483647) , swap(a , b);
}
for(int i=1;i<=n;i++){
for(int j=m;j>=0;j--){
dp[j]=max(dp[j]+C[i],dp[j-1]+B[i]);
}
}
cout<<dp[m];
return 0;
}
9.30SDFZCSP-J模考总结的更多相关文章
- 【Java并发编程实战】-----“J.U.C”:CAS操作
CAS,即Compare and Swap,中文翻译为"比较并交换". 对于JUC包中,CAS理论是实现整个java并发包的基石.从整体来看,concurrent包的实现示意图如下 ...
- 【Java并发编程实战】-----“J.U.C”:Exchanger
前面介绍了三个同步辅助类:CyclicBarrier.Barrier.Phaser,这篇博客介绍最后一个:Exchanger.JDK API是这样介绍的:可以在对中对元素进行配对和交换的线程的同步点. ...
- 【Java并发编程实战】-----“J.U.C”:CountDownlatch
上篇博文([Java并发编程实战]-----"J.U.C":CyclicBarrier)LZ介绍了CyclicBarrier.CyclicBarrier所描述的是"允许一 ...
- 【Java并发编程实战】-----“J.U.C”:CyclicBarrier
在上篇博客([Java并发编程实战]-----"J.U.C":Semaphore)中,LZ介绍了Semaphore,下面LZ介绍CyclicBarrier.在JDK API中是这么 ...
- 【Java并发编程实战】-----“J.U.C”:ReentrantReadWriteLock
ReentrantLock实现了标准的互斥操作,也就是说在某一时刻只有有一个线程持有锁.ReentrantLock采用这种独占的保守锁直接,在一定程度上减低了吞吐量.在这种情况下任何的"读/ ...
- JAVA并发编程J.U.C学习总结
前言 学习了一段时间J.U.C,打算做个小结,个人感觉总结还是非常重要,要不然总感觉知识点零零散散的. 有错误也欢迎指正,大家共同进步: 另外,转载请注明链接,写篇文章不容易啊,http://www. ...
- Android Studio解决未识别Java文件(出现红J)问题
1.问题:java文件出现了红J的问题,正常情况下应该是显示蓝色的C标识. 2.解决方案:切换到project视图下,找到app这个module里的build.gradle,在android结构里插入 ...
- //给定N个整数序列{A1,A2,A3...An},求函数f(i,j)=(k=i~j)Ak的求和
//给定N个整数序列{A1,A2,A3...An},求函数f(i,j)=(k=i~j)Ak的求和 # include<stdio.h> void main() { ,sum1; ]={,- ...
- 面试题:给定数组a,找到最大的j-i, 使a[j]>a[i]
第一种方法: 用两重循环对每对点都试一下,然后取最大值即可,时间复杂度为O(n2) #include <iostream> #include <algorithm> using ...
- 关于i和j
算法课无聊随手写了段c代码,发现了个问题,就要下课了,先记一下 for(int i = 0; i < 100; i ++) for(int j = 0; j < 100000; j ++) ...
随机推荐
- RestClient 通过拦截器实现请求加密
今天我发现了一个关于请求加密的有效写法,特此分享给大家.如果你的加密需求是将请求参数也包含在内,通常情况下,我们需要先将请求体转换成 JSON 格式或其他对象类型,再使用字符串的形式进行加密操作.以下 ...
- postman获取时间戳并自动计算token
工作中时常要测试接口,公共请求参数包括id, timestamp, token, token = MD5(id + key + timestamp)并转大写. 每次用外部工具去获取时间戳并计算toke ...
- P1081 [NOIP 2012 提高组] 开车旅行 题解
传送门 前言 爆肝到半夜,中间假了一次,最终调过了两个样例,交上去过了. 题解 思路 首先进行预处理. 用一种你喜欢的数据结构维护每个城市的海拔,容易求出从每个城市出发,小 \(A\) 和小 \(B\ ...
- github上文件过大无法推送问题
GitHub 对文件大小有限制,超过 100 MB 的文件无法直接推送到仓库中. 解决思路: 使用 Git Large File Storage (Git LFS) 来管理大文件 不上传对应的大文件 ...
- 若依-Vue 单体版本 更换mybatisPlus
1.单体模块在pom.xml ; 多模块版本在ruoyi-common\pom.xml.模块添加整合依赖 <!-- mybatis-plus 增强CRUD --> <dependen ...
- 【软件开发】Glob通配符
[软件开发]Glob 通配符 *:匹配除"/"以外的字符. **:匹配所有字符. ?:匹配一个字符. [...]:匹配指定字符,如[ABC]就匹配 ABC 三个字母,添加!还可以反 ...
- C# 生成缩略图方法
private static string CreateThumbnail(string filepath, int tWidth, int tHeight) { if (string.IsNullO ...
- 【Matlab】求解复合材料层合板刚度矩阵及柔度矩阵
1. matlab文件结构 2. main.m代码 clc clear; warning off; %% %铺层角度数组 angles=[0 90 0]; % ° %单层厚度 ply_thicknes ...
- 记线上+线下培训思想i技巧感悟
刚刚结束一场线下+线上培训 梳理一下,有几个问题: 1.虽然课件自己过了几遍,同时备注里写了一些提示 ,但是真正讲课的时候基本是没有过程特意去扫备注 注意备注应清晰,写核心关键字 2.分屏过程 需要在 ...
- datagrid源码
/** * jQuery EasyUI 1.2.3 * * Licensed under the GPL terms * To use it on other terms please contact ...