头像

Athene.




离线:8天前


最近来访(1)
用户头像
陈睿

新鲜事 原文

Athene.
1天前
AcWing《算法提高课》拼团优惠!https://www.acwing.com/activity/content/introduction/16/group_buy/149915/


活动打卡代码 AcWing 3. 完全背包问题

Athene.
15天前

include[HTML_REMOVED]

using namespace std;
const int M=1010;
int v[M],w[M];
int f[M];//j体积下前i个物体的最大价值
int main()
{
int n,m;
cin>>n>>m;
for(int i=1;i<=n;i)cin>>v[i]>>w[i];
//f[0][0-m]=0 0件物品的时候价值是0 初始化可以省略 全局变量都是0
for(int i=1;i<=n;i
)
{
for(int j=v[i];j<=m;j++)
{

            f[j]=max(f[j],f[j-v[i]]+w[i]);
    }
}
cout<<f[m]<<endl;
return 0;

}




Athene.
15天前

include[HTML_REMOVED]

using namespace std;
const int M=1010;
int v[M];
int w[M];
int f[M];//j体积下前i个物体的最大价值
int main()
{
int n,m;
cin>>n>>m;
for(int i=1;i<=n;i)cin>>v[i]>>w[i];
//f[0][0-m]=0 0件物品的时候价值是0 初始化可以省略 全局变量都是0
for(int i=1;i<=n;i
)
{
for(int j=m;j>=v[i];j–)
{
f[j]=max(f[j],f[j-v[i]]+w[i]);
//else情况不需要操作,保持即可,忽略不写
}
}
cout<<f[m]<<endl;
return 0;
}




Athene.
1个月前

include[HTML_REMOVED]

using namespace std;
int e(int a,int b,int &x,int &y)
{
if(b==0)
{
x=1,y=0;
return a;
}
int x1,y1,g;
g=e(b,a%b,x1,y1);
x=y1,y=x1-a/b*y1;
return g;
}
int main()
{
int n,a,b,x,y;
cin>>n;
while(n–)
{
cin>>a>>b;
e(a,b,x,y);
cout<<x<<” “<<y<<endl;
}
return 0;
}



活动打卡代码 AcWing 876. 快速幂求逆元

Athene.
1个月前

include[HTML_REMOVED]

using namespace std;
typedef long long ll;
ll qmi(int a,int b,int p)
{
ll res=1;
while(b)
{
if(b&1)res=resa%p;
a=(ll)a
a%p;
b>>=1;
}
return res;
}
int main()
{
int n;
cin>>n;
while(n–)
{
int a,p;
cin>>a>>p;
if(a%p==0) puts(“impossible”);
else cout<<qmi(a,p-2,p)<<endl;
}
return 0;
}



活动打卡代码 AcWing 873. 欧拉函数

Athene.
1个月前

include[HTML_REMOVED]

using namespace std;
typedef long long ll;
int main()
{
ll n;
cin>>n;
while(n–)
{
ll x;
cin>>x;
ll res=x;
for(ll i=2;i<=x/i;i++)
{
if(x%i==0)
{
res=res/i(i-1);
while(x%i==0)x/=i;
}
}
if(x>1)res=res/x
(x-1);
cout<<res<<endl;
}
}



活动打卡代码 AcWing 875. 快速幂

Athene.
1个月前

include[HTML_REMOVED]

using namespace std;
long long qmi(long long a,int b,int p)
{
long long res=1;
while (b)
{
if(b&1)res=resa%p;
b>>=1;
a=a
a%p;
}
return res;
}
int main()
{
int n;
scanf(“%d”,&n);
while(n–)
{
int a,b,p;
scanf(“%d%d%d”,&a,&b,&p);
printf(“%lld\n”,qmi(a,b,p));
}
return 0;
}



活动打卡代码 AcWing 826. 单链表

Athene.
3个月前

include[HTML_REMOVED]

using namespace std;
const int N=10010;
/head表示头节点的下标,e[i]表示节点i的数值,ne[i]表示节点i的next指针是什么,idx存储当前已经用到了哪个节点/
int head,e[N],ne[N],idx;
//初始化
void init()
{
head=-1;
idx=0;
}
//将x插到头节点
void add_to_head(int x)
{
e[idx]=x;
ne[idx]=head;
head=idx;
idx;
}
//将x插入到下标是K的点后面
void add(int k,int x)
{
e[idx]=x;
ne[idx]=ne[k];
ne[k]=idx;
idx
;
}
//将下标为k的点后面的点删除
void remove(int k)
{
ne[k]=ne[ne[k]];
}
int main()
{
int m;
cin>>m;
init();
while(m–)
{
int k,x;
char op;
cin>>op;
if(op==’H’)
{
cin>>x;
add_to_head(x);
}
else if(op==’D’)
{
cin>>k;
if(k==0)head=ne[head];
remove(k-1);
}
else
{
cin>>k>>x;
add(k-1,x);
}
}
for(int i=head;i!=-1;i=ne[i])cout<<e[i]<<’ ‘;
cout<<endl;
return 0;
}