当前位置: 首页 > article >正文

题解,超星进程

A - Geometric Progression 
思路:矩阵快速幂
构造[1,c]*[f(n-1)]
    [0,c] [c^(n-2)] 

​
#include<bits/stdc++.h>
#include<iostream>
using namespace std;
typedef long long ll;
ll  a, x, MOD;
struct matrix
{
    ll a1, a2, b1, b2;
    matrix(ll a1, ll a2, ll b1, ll b2) : a1(a1), a2(a2), b1(b1), b2(b2) {}
    matrix operator*(const matrix& y)
    {
        matrix ans((a1 * y.a1 + a2 * y.b1) % MOD,
            (a1 * y.a2 + a2 * y.b2) % MOD,
            (b1 * y.a1 + b2 * y.b1) % MOD,
            (b1 * y.a2 + b2 * y.b2) % MOD);
        return ans;
    }
};
matrix qpow(matrix a, ll n){
    matrix ans(1, 0, 0, 1); //单位矩阵
    while (n){
        if (n & 1)
            ans = ans * a;
        a = a * a;
        n >>= 1;
    }
    return ans;
}

int main()
{
    cin >> a >> x >> MOD;
    matrix M(1, a, 0, a);
    matrix ans = qpow(M, x - 1);
    printf("%lld\n", (ans.a1 + ans.a2) % MOD);
    return 0;
}

​

思路:求出需要操作数,特判当k>=count,且n为偶数则(k-count)则必须为偶数,因为为奇数时,多的(k-count)可改变斜主对角线不影响
 

#include<bits/stdc++.h>
#include<iostream>
#include<map>
#include<set>
#include<queue>
#include<cstring>
#include<math.h>
#include<map>
#define int long long
const int maxn=1e3+10; 
using namespace std;
int a[maxn][maxn];
void solve() {
    int n, k;
    cin >> n >> k;
    for (int i = 1; i <= n; i++) {
        for (int j = 1; j <= n; j++) {
            cin >> a[i][j];
        }
    }
    int Count = 0;
    for (int i = 1; i <= n; i++) {
        for (int j = 1; j <= n; j++) {
            if (a[i][j] != a[n+1- i][n+1- j])
                Count++;
        }
    }
    Count /= 2;
    if (Count <= k && (n & 1 || (k - Count) % 2 == 0)) {
        cout << "YES" << '\n';
    }
    else {
        cout << "NO" << '\n';
    }
}
signed main()
{
    ios::sync_with_stdio(false);
    int t;
    cin >> t;
    while(t--) {
        solve();
    }
    return 0;
}


A.TubeTube Feed
 思路:贪心t--,如果t>=要观看时间&&价值>Max就更新

#include<bits/stdc++.h>
#include<iostream>
#include<map>
#include<set>
#include<queue>
#include<cstring>
#include<math.h>
#include<map>
#define int long long 
const int maxn=2e5+10; 
using namespace std;
int a[maxn], b[maxn];
void solve() {
    int n, t;
    cin >> n >> t;
    for (int i = 1; i <= n; i++) {
        cin >> a[i];
    }
    for (int j = 1; j <= n; j++) {
        cin >> b[j];
    }
    int Max = 0, flag = -1;
    t++;
    for (int i = 1; i <= n; i++) {
        t--;
        if (t >= a[i]&&b[i]>Max) {
            Max = max(Max, b[i]);
            flag = i;
        }
    }
    cout << flag << '\n';

}
signed main()
{
    ios::sync_with_stdio(false);
    int t;
    cin >> t;
    while (t--) {
        solve();
    }
}

B.Karinaand Array
思路:排序,比较最小的两位乘和最大两位乘
 

#include<bits/stdc++.h>
#include<iostream>
#include<algorithm>
#include<map>
#include<set>
#include<queue>
#include<cstring>
#include<math.h>
#include<map>
#define int long long 
const int maxn=2e5+10; 
using namespace std;
int a[maxn];
void solve() {
    int n;
    cin >> n;
    for (int i = 1; i <= n; i++) {
        cin >> a[i];
    }
    sort(a + 1, a +n+ 1);
    cout << max(a[1] * a[2], a[n - 1] * a[n])<<'\n';
}
signed main()
{
    ios::sync_with_stdio(false);
    int t;
    cin >> t;
    while (t--) {
        solve();
    }
}

C - Bun Lover
思路:规律结果n * n + 2 + 2 * n
 

#include<bits/stdc++.h>
#include<iostream>
 #include<algorithm>
#include<map>
#include<set>
#include<queue>
#include<cstring>
#include<math.h>
#include<map>
#define int long long 
const int maxn=2e5+10; 
using namespace std;
int a[maxn];
 void solve(){
     int n;
     cin >> n;
     cout << n * n + 2 + 2 * n << '\n';
 }
signed main()
{
    ios::sync_with_stdio(false);
    int t;
    cin >> t;
    while (t--) {
        solve();
    }
}

Super - Permutation
思路:先预处理前缀和,可根据构造[n,1,n-2,3...]的形式,必定有一项是所有的和,
 于是判断所有和%n是否为0,是重复-1,不是格式输出
 

#include<bits/stdc++.h>
#include<iostream>
#include<algorithm>
#include<cstring>
#include<queue>
#include<map>
#include<set>
#define int long long 
using namespace std;
const int maxn = 2e5 + 10;
int a[maxn];
void solve() {
    int n;
    cin >> n;
    if (n == 1) {
        cout << 1;
    }
    else {
        if (a[n] % n == 0) {
            cout << "-1";
        }
        else {
            int i = 1;
            int j = n;
            n = n / 2;
            while (n--) {
                cout << j << ' ' << i << ' ';
                i += 2;
                j -= 2;
            }
        }
    }
    cout << '\n';
}
void init() {
    a[0] = 0;
    for (int i = 1; i < maxn; i++) {
        a[i] = a[i - 1] + i;
    }
}
signed main()
{
    ios::sync_with_stdio(false);
    init();
    int t;
    cin >> t;
    while (t--) {
        solve();
    }
    return 0;
}

超星项目进程

1.改变了界面定时器刷新界面的功能,转换成在tab的selectionchanged上定义方法刷新界面,

刷新界面的模式为得到数据库更新的数据后,重新在list view中添加item

2.实现点击listview的item出现弹框功能:在listView2.getSelectionModel().selectedItemProperty().addListener()增加监听方法调出新界面


http://www.kler.cn/a/15074.html

相关文章:

  • JavaScript 高级—求数组的最大值与最小值
  • MySQL 日志 主从复制
  • 【金融风控项目-08】:特征构造
  • Unity 编辑器下 Android 平台 Addressable 加载模型粉红色,类似材质丢失
  • Figma中文网:UI设计师的新资源宝库
  • HTTP 1.0、HTTP 1.1 和 HTTP 2.0 区别
  • 记录 docker linux部署jar
  • 三问 ThreadLocal —— 有什么用 ? 使用时有什么潜在风险?原理 ?
  • 【C++】模板进阶
  • mysql实现存在则保存,不存在则更新
  • Java线程池核心参数
  • CA(证书颁发机构)
  • 软件测试概念
  • MATLAB-Lingo求解线性规划问题-奶制品2
  • 车联网V2X通信技术及应用介绍
  • 备忘录设计模式解读
  • 实用的股票接口,股票api收藏(11)
  • 03.预处理
  • 轻量级网络EfficientNetB0,利用迁移学习中的微调技术进行小样本轴承故障诊断(Python代码,带有数据集,训练集集的每类只需10个样本)
  • 【接口自动化测试】selenium旗舰版Web测试理论篇
  • 听我一句劝,别去外包,干了三年,废了....
  • css中的background属性
  • BatchNormalization 介绍
  • 800字带你弄懂Http请求和响应
  • 机器人学一些知识
  • 基于趋动云的 Stable Diffusion Webui 环境搭建