https://paste.ubuntu.com/p/tRpXVQYfKb
#include<bits/stdc++.h>
using namespace std;
const int N = 2e5 + 5;
typedef long long LL;
struct node{
int val;
node* next;
node(int x) : val(x) , next(NULL) {} ;
};
int main() {
int n,k;
cin >> n >> k;
node* head = new node(-1);
node* dummy = head;
for(int i=1;i<=n;i++) {
int val;
cin >> val;
if(i == k) continue;
head->next = new node(val);
head = head->next;
}
head = dummy->next;
for(node* i=head;i;i=i->next) {
cout << i->val << (i->next ? ' ' : '\n');
}
}
/*
1 1
1
*/
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#include<bits/stdc++.h>
using namespace std;
const int N = 2e5 + 5;
typedef long long LL;
int main() {
int k;
string s;
cin >> s >> k;
int n = s.length();
vector<string> res;
for(int i=1;i<=min(5,n);i++) {
for(int j=0;j+i<n;j++) {
res.push_back(s.substr(j,i));
}
}
sort(res.begin(),res.end());
unique(res.begin(),res.end());
cout << res[k - 1];
}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#include<bits/stdc++.h>
using namespace std;
const int N = 2e5 + 5;
typedef long long LL;
int s(LL x) {
int res = 0;
while(x) {
res += x % 10;
x /= 10;
}
return res;
}
int main() {
int T;
cin >> T;
while(T--) {
LL n;
cin >> n;
LL tmp = n;
LL mul = 1;
while(tmp) {
tmp /= 10;
mul *= 10;
}
mul /= 10;
LL maxi = n / mul * mul - 1;
LL maxj = n - maxi;
cout << s(maxi) + s(maxj) << endl;
}
}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#include<bits/stdc++.h>
using namespace std;
const int N = 2e5 + 5;
typedef long long LL;
int a[N];
int dfs(int l,int r,int h) {
if(l > r) return 0;
int Min = l;
for(int i=l; i<=r; i++) {
if(a[i] < a[Min]) {
Min = i;
}
}
int t1 = dfs(l,Min-1,a[Min]);
int t2 = dfs(Min+1,r,a[Min]);
return min(t1 + t2 + a[Min] - h , r - l + 1);
}
int main() {
int n;
cin >> n;
for(int i=1; i<=n; i++) {
cin >> a[i];
}
cout << dfs(1,n,0);
}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#include<bits/stdc++.h>
using namespace std;
const int N = 2e5 + 5;
typedef long long LL;
int dp[555][555];
int ans[555][555];
int main() {
// freopen("out.txt","w",stdout);
string s;
cin >> s;
s = ' ' + s;
int n = s.length() - 1;
for(int l=n; l>=1; l--) {
for(int r=l; r<=n; r++) {
if(l == r) {
dp[l][r] = 1;
} else if(l == r - 1) {
dp[l][r] = (s[l] == s[r]);
} else {
if(dp[l + 1][r - 1]) {
if(s[l] == s[r]) {
dp[l][r] = 1;
}
}
}
if(dp[l][r]) ans[l][r] = 1;
else ans[l][r] = r - l + 1;
}
}
for(int i=1; i<=n; i++) {
for(int j=i; j<=n; j++) {
for(int k=i; k<=j; k++) {
if(dp[i][k] || dp[k + 1][j]) {
int tmp = ans[i][k] + ans[k + 1][j];
ans[i][j] = min(ans[i][j],tmp);
}
}
}
}
int q;
cin >> q;
while(q --) {
int l,r;
cin >> l >> r;
cout << ans[l][r] << endl;
}
}
/*
abcac
1
1 5
*/
腾讯笔试
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。