社区讨论
真的没人救我?
P4743[Wind Festival] Energy Center参与者 4已保存回复 14
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 14 条
- 当前快照
- 1 份
- 快照标识符
- @mi6uz735
- 此快照首次捕获于
- 2025/11/20 11:15 4 个月前
- 此快照最后确认于
- 2025/11/20 14:41 4 个月前
5分QAQ
O(nk)的输入,O(k)的存入,O(1)的删除,O(1)的QA,O((r-l)*m)的QS,按道理不应该TLE啊
代码:
CPP#include <bits/stdc++.h>
using namespace std;
template <typename _Tp>
inline void read(_Tp &x){
int w=1;char c=0;x=0;
while (c^'-'&&(c<'0'||c>'9'))c=getchar();
if (c=='-')w=-1,c=getchar();
while (c>='0'&&c<='9')x=(x<<1)+(x<<3)+(c^48),c=getchar();
x*=w;
}
inline void write(int n){
if(n==0) return;
write(n/10);
putchar(n%10+'0');
}
struct ${
int next,pre;
}a[20005];
int n,m,k,value[10005][205],q;
int main(void){
read(n),read(m);
for (int i=1;i<=n;i++){
read(k);
for (int j=0;j<k;j++){
int x,y;
read(x),read(y);
value[i][x]=y;
}
a[i].next=i+1,a[i].pre=i-1;
}
read(q);
while (q--){
string s;
cin>>s;
if (s[0]=='I'){
int x;read(x);n++;
a[n].next=a[x].next,a[x].next=n,a[a[n].next].pre=n,a[n].pre=x;
read(k);
for (int i=0;i<k;i++){
int y,z;read(y),read(z);
value[n][y]=z;
}
}
if (s[0]=='D'){
int x;read(x);n--;
a[a[x].pre].next=a[x].next,a[a[x].next].pre=a[x].pre;
}
if (s[0]=='Q'&&s[1]=='A')printf ("%d\n",n);
else if (s=="QS"){
int l,r;read(l),read(r);int z=0,start=1;
for (;z<l-1;z++,start=a[start].next);/*printf ("%d\n",start);*/
for (int i=0;i<m;i++){
int s=0;z=0;
for (int p=start;z<r-l+1;z++,p=a[p].next)s+=value[p][i]/*,printf ("%d ",p)*/;
printf ("%d ",s);
}
puts("");
}
// cout<<"q:"<<q<<' '<<"s:"<<s<<endl;
}
printf ("end\n");/*int z=0;
for (int i=1;z<n;z++,i=a[i].next,puts(""))for (int j=0;j<m;j++)printf ("%d ",value[i][j]);*/
}
a是双向链表,value是第i台设备的属性
好像没有问题啊?(谁能给我个数据啊QAQ)
回复
共 14 条回复,欢迎继续交流。
正在加载回复...