今天又是愚蠢的一天,估分230,实得110。其中T2、4不会,这里就只说题意和简要思路。

收获:scanf>>a,以及printf<<a。


T1:模板题

此题相对简单,就是读入的时候,用一个桶排,把读入数字的所有因数加1,然后,从大到小扫一遍,看一下以i为倍数的数是否有k个,然后输出即可。

见代码:

#include<cstring>
#include<cmath>
#include<iostream>
#include<algorithm>
#include<cstdio>
using namespace std;
int n,v,k=,maxx=-0x3f3f3f,a[],t[],b[];
void g(int x)
{
for(int i=;i*i<=x;i++)
{
if(x%i==)
{
t[i]++;
t[x/i]++;
if(i*i==x)
t[i]--;
}
}
}
int main()
{
scanf("%d",&n);
for(int i=;i<=n;i++)
{
scanf("%d",&v);
g(v);
if(v>maxx)
maxx=v;
}
for(int i=maxx;i>=;i--)
{
while(t[i]>=k)
{
b[k]=i;
k++;
}
}
for(int i=;i<=n;i++)
printf("%d\n",b[i]);
return ;
}

好题哉!!!


T2:伸展

因为是n2,但是本人只会暴力模拟,所以过。


T3:线索

思路:当遇上左括号,用一个大根堆储蓄起来。然后当遇上左括号时,将其压入一个小跟堆,若左堆为空,则弹出右堆堆顶。不然则弹出左堆堆顶。最后若左堆依然不为空,则清空左堆。此贪心正确性显然:当遇上右括号且左边有左括号时,优先拿代价大与其匹配。而若左边没有小括号,则不使用代价最小的右括号。最后若左括号有多,则全部弹出。

见代码:

#include<cstdio>
#include<cstring>
#include<cmath>
#include<iostream>
#include<algorithm>
#include<queue>
#define ll long long
using namespace std;
priority_queue<int,vector<int>,less<int> >q1;
priority_queue<int,vector<int>,greater<int> >q2;
ll n,k,k1=,red,ans;
char a[];
int main()
{
freopen("assassin.in","r",stdin);
freopen("assassin.out","w",stdout);
scanf("%lld",&n);
for(ll i=;i<=n;i++)
scanf(" %c",&a[i]);
for(ll i=;i<=n;i++)
{
scanf("%lld",&red);
if(a[i]=='(')
{
q1.push(red);
}
else
{
q2.push(red);
if(!q1.empty())
{
q1.pop();
k++;
}
else
{
ans+=q2.top();
q2.pop();
}
}
}
while(!q1.empty())
{
ans+=q1.top();
q1.pop();
}
printf("%lld",ans);
return ;
}

好题哉!!!


T4:自由

据大佬们说,此题是动归的斜率优化,当然数据有点小$n^{2}$也可以过。

但是……最基础的$n^{3}$我都不会。所以如清风般略过。

好题哉!!!

最新文章

  1. BAT 技术团队博客
  2. 快速开发一个PHP电影爬虫
  3. hdu1710 Binary Tree Traversals(二叉树的遍历)
  4. iOS开发中的内存分配(堆和栈)
  5. Windows 8.1 应用再出发 - 视图状态的更新
  6. Go 语言读写 Excel
  7. 【Android 应用开发】分析各种Android设备屏幕分辨率与适配 - 使用大量真实安卓设备采集真实数据统计
  8. DX11 Without DirectX SDK--03 渲染一个立方体
  9. host-only局域网络
  10. js, Date.parse firefox 兼容
  11. hello1 hello2 服务器安装加部署全过程
  12. Oracle的数据类型详述
  13. Java继承(上)
  14. mongo官方企业版安装及数据库授权使用
  15. Linux学习之用户与root
  16. C#一年中有多少周方法和js一年中第几周
  17. semver 版本号命名法
  18. 图论最短路——dijkstra
  19. 设计模式--享元模式C++实现
  20. Python基础—流程控制

热门文章

  1. 「HNOI2012」永无乡
  2. IDEA中使用Springboot+SSM的踩坑记(一)
  3. python3中的raise使用
  4. 记C++中发现的隐式转换问题
  5. acm数论之旅(转载)---最大公约数与最小公倍数
  6. python数组冒号取值操作
  7. 【转】centos升级curl版本
  8. conda常用命令(待续)
  9. linux磁盘空间挂载
  10. vue 之 axios Vue路由与element-UI