我是傻逼我是傻逼我是傻逼我是傻逼\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模考总结的更多相关文章

  1. 【Java并发编程实战】-----“J.U.C”:CAS操作

    CAS,即Compare and Swap,中文翻译为"比较并交换". 对于JUC包中,CAS理论是实现整个java并发包的基石.从整体来看,concurrent包的实现示意图如下 ...

  2. 【Java并发编程实战】-----“J.U.C”:Exchanger

    前面介绍了三个同步辅助类:CyclicBarrier.Barrier.Phaser,这篇博客介绍最后一个:Exchanger.JDK API是这样介绍的:可以在对中对元素进行配对和交换的线程的同步点. ...

  3. 【Java并发编程实战】-----“J.U.C”:CountDownlatch

    上篇博文([Java并发编程实战]-----"J.U.C":CyclicBarrier)LZ介绍了CyclicBarrier.CyclicBarrier所描述的是"允许一 ...

  4. 【Java并发编程实战】-----“J.U.C”:CyclicBarrier

    在上篇博客([Java并发编程实战]-----"J.U.C":Semaphore)中,LZ介绍了Semaphore,下面LZ介绍CyclicBarrier.在JDK API中是这么 ...

  5. 【Java并发编程实战】-----“J.U.C”:ReentrantReadWriteLock

    ReentrantLock实现了标准的互斥操作,也就是说在某一时刻只有有一个线程持有锁.ReentrantLock采用这种独占的保守锁直接,在一定程度上减低了吞吐量.在这种情况下任何的"读/ ...

  6. JAVA并发编程J.U.C学习总结

    前言 学习了一段时间J.U.C,打算做个小结,个人感觉总结还是非常重要,要不然总感觉知识点零零散散的. 有错误也欢迎指正,大家共同进步: 另外,转载请注明链接,写篇文章不容易啊,http://www. ...

  7. Android Studio解决未识别Java文件(出现红J)问题

    1.问题:java文件出现了红J的问题,正常情况下应该是显示蓝色的C标识. 2.解决方案:切换到project视图下,找到app这个module里的build.gradle,在android结构里插入 ...

  8. //给定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; ]={,- ...

  9. 面试题:给定数组a,找到最大的j-i, 使a[j]>a[i]

    第一种方法: 用两重循环对每对点都试一下,然后取最大值即可,时间复杂度为O(n2) #include <iostream> #include <algorithm> using ...

  10. 关于i和j

    算法课无聊随手写了段c代码,发现了个问题,就要下课了,先记一下 for(int i = 0; i < 100; i ++) for(int j = 0; j < 100000; j ++) ...

随机推荐

  1. Java02-基础语法

    Java基础语法 [ 任务列表 ] 1.注释 2.字面量 3.变量 4.关键字.标识符 5.方法 6.类型转换 7.输入输出 8.运算符 9.其他 -------------------------- ...

  2. FunPapers[1]: GBDT和DNN强强联手,表格预测新突破!

    Team up GBDTs and DNNs: Advancing Efficient and Effective Tabular Prediction with Tree-hybrid MLPs h ...

  3. 一个登录功能也能玩出这么多花样?sa-token带你轻松搞定多地登录、单地登录、同端互斥登录

    需求场景 说起登录,你可能会不屑一顾,还有比这更简单的功能吗? 获取一下用户提交参数 username + password 和数据库中一比对,有记录返回[登录成功],无记录返回[用户名或密码错误] ...

  4. Linux下安装jdk的两种方法

    Linux下安装jdk的两种方式和安装mvn 有网的环境 yum方式下载安装1.查找java相关的列表   1 yum -y list java* 或者   1 yum search jdk 2.安装 ...

  5. NOIp 2024 游记

    要是 T3 T4 挂分就寄了. Day-11 运动会上 vp 了 NOIp2023 和 NOIp2022,NOIp2023 被 T2 硬控了一会,最后口胡的做法感觉可以拿 \(100+100+35+1 ...

  6. [SDOI2008] 洞穴勘测 题解

    似乎所有的线段树分治题都能被 \(LCT\) 平替掉? 一眼动态树,直接 \(LCT\). Connect x y 操作用 \(link(x,y)\) 实现,Destroy x y 操作用 \(cut ...

  7. QT5笔记: 22. 自定义代理

    代理作用:在界面发生编辑时可以指定编辑所用的组件,可以沟通Model和View 自定义代理需要继承的基类和需要实现的方法 使用步骤: 继承QStyledItemDelegate,实现上面的四个方法 在 ...

  8. 解释 Git 的基本概念和使用方式

    Git是一种分布式版本控制系统,常用于管理和追踪软件开发项目的代码.以下是Git的基本概念和使用方式的解释: 仓库(Repository):Git管理代码的基本单位,可以理解为一个存储代码历史和版本信 ...

  9. 【BUUCTF】Hack World 1

    [BUUCTF]Blacklist (SQL盲注) 题目来源 收录于:BUUCTF CISCN2019 华北赛区 Day2 Web1 题目描述 纯粹的SQL注入题 当输入1时,返回字符串:Hello, ...

  10. 使用DeepSeek-R1分析电影票房

    最近在学习DeepSeek-R1本地化部署的相关知识,看到了1个比较有意思的视频. 在该视频中,其主要逻辑就是当用户上传1个Excel后,之后就可以通过交互式的方式对这个Excel中的数据进行分析.但 ...