#include <iostream>
#include <vector>
#include <string>
using namespace std;
int main() {
string s;
int q;
cin >> s >> q;
vector<int> l(q), r(q), k(q);
for (int i = 0; i < q; ++i) {
cin >> l[i] >> r[i] >> k[i];
}
for (int i = q - 1; i >= 0; --i) {
if (l[i] > 0 && r[i] <= s.size()) {
string t = s.substr(l[i] - 1, r[i] - l[i] + 1);
s.erase(l[i] - 1, r[i] - l[i] + 1);
if (k[i] == 0) {
s = t + s;
} else {
s.insert(k[i] - 1, t);
}
}
}
cout << s << endl;
return 0;
}
namespace App\Controller;
use App\Entity\User;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
class UserController extends AbstractController
{
private $userRepository;
public function __construct(UserRepository $userRepository)
{
$this->userRepository = $userRepository;
}
/**
* @Route("/users/{id}", name="user_show")
*/
public function show(User $user): Response
{
return $this->render('user/show.html.twig', [
'user' => $user,
]);
}
}
SELECT COUNT(*) FROM users;
SELECT COUNT(age) FROM users;
Можно попробовать эмулировать "переход" по ссылке, а потом "вытаскивать" id получившейся записи. А вот как это сделать, пока не придумал.
да хотя бы слабой типизацией плох
Основной - это производительность, топик стартер жалуется на производительность offset/limit, а ваш вариант несет за собой другие проблемы производительности решая основную
Использование IN или NOT IN с большим набором данных может быть медленным. Это особенно актуально, если таблица очень большая или количество записей с одинаковыми датами велико. В таких случаях выполнение этого запроса может привести к существенному снижению производительности.
Этот вариант так же сложнее потому что формирование списка идентификаторов в операторе IN или NOT IN может быть неэффективным, особенно если есть много записей с одинаковыми датами.