2023/4/4总结
Posted lxh0113
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2023/4/4总结相关的知识,希望对你有一定的参考价值。
题解:
1.这道题目我们需要判断。
2.如果是奇数,亦或出来的总值不为0,那么每一个数字再去亦或任何一个数字,都不会为0。
3.如果是偶数并且亦或总值为0,那么我们亦或的总值不满足条件,我们需要构造一个数字,这个数字不会影响它们最终为0。我构造的数字是与上所有的值这个是不会改变的。
4.如果是其他情况就是最后亦或的总值。
#include<stdio.h>
#define N 1010
int a[N];
int main()
int t,n,i,sum,k;
scanf("%d",&t);
while(t--)
sum=0;
k=0;
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
sum^=a[i];
k=k|a[i];
if(sum!=0&&n%2==0)
puts("-1");
else if(sum==0&&n%2==0)
printf("%d\\n",k);
else printf("%d\\n",sum);
return 0;
1.这个题目 其实就是出现得最小得字母,把它放在前面。因为字典序最小嘛。
#include<stdio.h>
#include<math.h>
#include<string.h>
#define N 100010
char a[N],b[N];
int main()
int t,c,k,n,i;
scanf("%d",&t);
while(t--)
c='z';
k=-1;
scanf("%d",&n);
scanf("%s",a);
for(i=strlen(a)-1;i>=1;i--)
if(a[i]<c)
c=a[i];
k=i;
if(k>=1&&c<=a[0])
printf("%c",c);
strcpy(b,a+k+1);
a[k]=0;
printf("%s",a);
printf("%s",b);
else printf("%s",a);
printf("\\n");
线段树OR树状数组 - Virtual Judge (vjudge.net)
1.这道题目我刚开始的想法是,排序,去重,离散化,然后从后面的海报开始贴起来,往前推,如果这个节点已经贴过就不贴,因为在前面的肯定会被覆盖。
2.然后好不容易写出来,TLE了(按理说应该不会这样的)。
3. 然后老老实实从前面开始贴,计数。
4.离散化有一点需要注意,如果数据是
1 10
1 3
6 10
这是三个海报,但是如果离散化,就会变成2个海报。导致出错,我看了别人的博客,建议是初始值的时候右边坐标全部+1,访问的时候离散化的值减去1即可。
代码如下:
#include<algorithm>
#include<cstdio>
#include<cstring>
#include<cmath>
#define N 10005
#define maxn 20000
using namespace std;
int T,n,cnt,num,ans;
int l[N],r[N];
bool t[maxn];
int mark[4*maxn];
struct node
int num,id,p;
a[2*N];
bool cmp(node x,node y)
if (x.num!=y.num) return x.num<y.num;
else return x.id<y.id;
void change(int v,int l,int r,int x,int y,int k)
if (l==x&&r==y)
mark[v]=k;
return;
if (mark[v]>0)
mark[v<<1]=mark[v];
mark[1+(v<<1)]=mark[v];
mark[v]=0;
int mid=(l+r)>>1;
if (mid>=y) change(v<<1,l,mid,x,y,k);
else if (x>mid) change(1+(v<<1),mid+1,r,x,y,k);
else
change(v<<1,l,mid,x,mid,k);
change(1+(v<<1),mid+1,r,mid+1,y,k);
void find(int v,int l,int r)
int mid=(l+r)>>1;
if (l==r)
if (!t[mark[v]])
t[mark[v]]=true;
ans++;
return;
if (mark[v]>0)
mark[v<<1]=mark[v];
mark[1+(v<<1)]=mark[v];
mark[v]=0;
find(v<<1,l,mid);
find(1+(v<<1),mid+1,r);
int main()
int i,s;
scanf("%d",&T);
while (T--)
memset(mark,0,sizeof(mark));
memset(t,0,sizeof(t));
cnt=0;
scanf("%d",&n);
for (i=1;i<=n;i++)
scanf("%d%d",&l[i],&r[i]);
a[++cnt].num=l[i]; a[cnt].id=i; a[cnt].p=cnt;
a[++cnt].num=r[i]; a[cnt].id=i; a[cnt].p=cnt;
sort(a+1,a+1+cnt,cmp);
num=1;
for (i=2;i<=cnt;i++)
s=a[i-1].id;
if (a[i-1].p%2) l[s]=num;
else r[s]=num;
if (a[i].num!=a[i-1].num) num++;
s=a[cnt].id;
if (a[cnt].p%2) l[s]=num;
else r[s]=num;
for (i=1;i<=n;i++)
change(1,1,num,l[i],r[i],i);
ans=0;
find(1,1,num);
printf("%d\\n",ans);
return 0;
JavaFX
学习了javafx的scene builder一点知识
stage表示窗口
scene表示场景
然后还有各种按钮之类的。
id表示名称
on Action表示行为(这俩个我觉得是很重要的点)
但是做出来的界面,不能结束进程。因为不会在controller类之间互转。然后其他功能,比如提交没写,还有就是忘记密码啥的也没搞,其实就是一个界面,也还没完善。
然后就是不小心把登录和注册写反了。(一定要注意文件路径,吃了大亏)
打算接下来学习mysql和maven。
Python学习总结
Python 总结
- Python 学习总结 【第01节】
- Python 学习总结 【第02节】
- Python 学习总结 【第03节】
- Python 学习总结 【第04节】
- Python 学习总结 【第05节】
- Python 学习总结 【第06节】
- Python 学习总结 【第07节】
- Python 学习总结 【第08节】
- Python 学习总结 【第09节】
- Python 学习总结 【第10节】
- Python 学习总结 【第11节】
- Python 学习总结 【第12节】
- Python 学习总结 【第13节】
- Python 学习总结 【第14节】
- Python 学习总结 【第15节】
- Python 学习总结 【第16节】
- Python 学习总结 【第17节】
- Python 学习总结 【第18节】
- Python 学习总结 【第19节】
- Python 学习总结 【第20节】
- Python 学习总结 【第21节】
- Python 学习总结 【第22节】
- Python 学习总结 【第23节】
- Python 学习总结 【第24节】
- Python 学习总结 【第25节】
- Python 学习总结 【第26节】
- Python 学习总结 【第27节】
- Python 学习总结 【第28节】
- Python 学习总结 【第29节】
- Python 学习总结 【第30节】
以上是关于2023/4/4总结的主要内容,如果未能解决你的问题,请参考以下文章